【发布时间】:2022-10-21 01:29:00
【问题描述】:
我需要使用pyinstaller 创建一个包含许多功能的可执行文件。如何使用 Python 中的参数调用这些函数?我目前的方法是使用基于可选参数的条件。例如(未经测试):
#math_app.py
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("-a", "--add", type=str, help="Add integers together")
parser.add_argument("-s", "--subtract", type=str, help="Subtract integers")
args = parser.parse_args()
if args.add:
add_list = args.add.split(',')
#add code here
elif args.subtract:
sub_list = args.subtract.split(',')
#subtract code here
其中,在使用 pyinstaller 编译后将像这样使用:
from subprocess import Popen, PIPE
p= Popen("math_app.exe --add=1,2,3 --subtract=10,5",stdin=PIPE,stdout=PIPE,stderr=PIPE, encoding="UTF8")
command='START\n'
p.stdin.write(command)
p.stdin.flush()
response=p.stdout.read()
print(response)
这是解决此问题的好方法,还是有更好的方法来调用函数并使用 Python .exe 传递参数?
谢谢!
【问题讨论】:
-
无法从程序外部访问“函数”。它们是内部组织结构,而不是外部接口。所以是的,你需要一些东西来让你的程序调用它们。
-
你现在这样做的方式很好。
标签: python command-line subprocess pyinstaller exe