python中3种调用可执行文件.exe的方法

供稿:hz-xin.com     日期:2025-01-14
python如何调用编译后的可执行文件

我是通过python调用shell脚本运行可执行文件的接口实现对方给的功能。简单讲就是,写了个shell脚本运行可执行文件,并传入参数,实现功能。之后再通过python调用脚本来实现这个功能。

py2exe啊,一点也不老,稳定而且好用。
操作步骤如下:
如果你有一个名为helloworld.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,那么首先你应写一个用于发布程序的设置脚本例如mysetup.py,在其中的setup函数前插入语句import py2exe 。
mysetup.py示例如下:
# mysetup.py
from distutils.core import setup
import py2exe

setup(console=["helloworld.py"])
然后按下面的方法运行mysetup.py:
python mysetup.py py2exe
上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。
如果你的helloworld.py脚本中用了已编译的C扩展模块,那么这些模块也会被拷贝在个子目录中,同样,所有的dll文件在运行时都是需要的,除了系统的dll文件。
dist子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。

默认情况下,py2exe在目录dist下创建以下这些必须的文件:
1、一个或多个exe文件。
2、python##.dll。
3、几个.pyd文件,它们是已编译的扩展名,它们是exe文件所需要的;加上其它的.dll文件,这些.dll是.pyd所需要的。
4、一个library.zip文件,它包含了已编译的纯的python模块如.pyc或.pyo
上面的mysetup.py创建了一个控制台的helloword.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=["helloworld.py"]替换为windows=["myscript.py"]既可。

py2exe一次能够创建多个exe文件,你需要将这些脚本文件的列表传递给console或windows的关键字参数。如果你有几个相关联的脚本,那么这是很有用的。
运行下面个命令,将显示py2exe命令的所有命令行标记。
python mysetup.py py2exe --help

方法一、os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来。

import os

main = "project1.exe"

r_v = os.system(main)

print (r_v )

方法二、commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的内容打印出来。

import subprocess

import os

main = "project1.exe"

if os.path.exists(main):

rc,out= subprocess.getstatusoutput(main)

print (rc)

print ('*'*10)

print (out)

方法三、popen() 会保存可执行程序中的打印值,但不会保存主函数的返回值,也但不会将执行过程中要打印的内容打印出来。

import os

main = "project1.exe"

f = os.popen(main)

data = f.readlines()

f.close()

print (data)

另外,上面提到的三种方式,实际上都是在python中执行命令,因此他们不只是用来执行可执行文件,也可以用来执行linux系统中别的指令。

关于python中3种调用可执行文件.exe的方法,环球青藤小编就和大家分享到这里了,学习是永无止境的,学习一项技能更是受益终身,所以,只要肯努力学,什么时候开始都不晚。如果您还想继续了解关于python编程的学习方法及素材等内容,可以点击本站其他文章学习。

python中3种调用可执行文件.exe的方法
方法一、os.system() 会保存可执行程序中的打印值和主函数的返回值,且会将执行过程中要打印的内容打印出来。import os main = "project1.exe"r_v = os.system(main)print (r_v )方法二、commands.getstatusoutput() 会保存可执行程序中的打印值和主函数的返回值,但不会将执行过程中要打印的...

Python之调用其他py文件
1. os库调用: 使用os库中的函数尝试调用py文件甲,但实践发现不适用于数据迁移脚本。具体操作可能存在问题,需要深入排查。2. 导入库方式: 通过导入和可能的库移除来实现py文件的重复执行。这种方法虽然简洁,但初次执行时会重复运行py文件。3. subprocess.call()调用: 使用subprocess模块中的call函数,...

当前从python调用c\/c++代码的有多少种方法、最佳方案
首先,你可直接将 C\/C++ 代码按原样编写,然后编译成 exe\/elf 格式的可执行文件。Python 使用 subprocess 调用该可执行文件。这种方法的优点在于改动较小,但缺点是需要两个进程运行代码,且 C\/C++ 与 Python 之间的通信较为复杂。其次,将 C\/C++ 代码稍作修改,编译成 dll\/so 格式的动态库文件。P...

python顺序执行多个py文件的方法
首先,使用命令行窗口执行Python脚本。在命令行输入以下命令:python file1.py && python file2.py 这里的“&&”是Linux命令操作符,表示“先执行前面的命令,若成功则继续执行后面的命令”。Python shell会按照顺序执行file1.py和file2.py。其次,利用Python的内建模块os来实现文件执行。导入os模块并使...

(详解)python调用另一个.py文件中的类和函数或直接运行另一个.py...
- 主程序在子文件夹A中调用B.py:通过设置工作目录或指定绝对路径。3. 运行.py文件:- 同一目录下:直接运行文件名,如`python B.py`。- 不同目录下:确保拥有执行权限,正确方式如`python \/Users\/\/Desktop\/.py`,注意路径和权限问题。总的来说,推荐的做法是将主程序放在根目录下,以保持更好...

如何让一个 Python 文件运行另一个 Python 文件
在 Python 编程中,运行另一个 Python 文件有多种方法,包括导入模块、使用 subprocess 模块、exec() 函数、os.system() 函数和 importlib 模块。下面详细介绍每种方法及其优势。使用 import 语句:导入语句使目标文件被视为模块,允许调用其函数、访问其变量并执行代码。创建一个简单的 Python 脚本并保存...

python py文件中执行另一个py文件
方法一、import os os.system("python filename.py")方法二:execfile('xx.py'),括号内为py文件路径;注:如果需要传参数,就用os.system()那种方法;如果还想获得这个文件的输出,那就得用os.popen();

如何让一个 Python 文件运行另一个 Python 文件
首先,最基本的实现是通过import语句,将目标文件作为模块引入,可以直接调用其函数和访问变量。例如,如果你有一个script.py文件,可以在另一个文件中通过import script来运行。另一种方法是利用subprocess模块,它允许从Python代码中执行外部程序,包括Python脚本。使用run()函数,可以直接运行script.py。Pytho...

苹果电脑中python怎么读取文件python中怎么读取文件内容
1. python怎么读取TXT Python的文本处理是经常碰到的一个问题,Python的文本文件的内容读取中,有三类方法:read()、readline()、readlines(),这三种方法各有利弊,下面逐一介绍其使用方法和利弊。 read(): read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中file_object = open('...

如何调用另一个python文件
在Python编程中,导入其他文件以访问其函数、数据等代码,通过import语句实现。例如,假设有两个文件a.py和b.py。若在b.py文件中需调用a.py中的func( )函数,可遵循以下两种路径。若a.py与b.py位于同一目录下,仅需在b.py文件中输入以下语句:import a 或 from a import func 执行上述任一语句...