从 Python 调用可执行文件中的函数

问题描述 投票:0回答:1

我需要使用

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
1个回答
-1
投票

嗯,这是前端(GUI)的工作。自从您决定制作可执行文件以来,您可以花一点时间搜索该主题。由于您的项目看起来有点小,您可以使用像 Tkinker 这样的库(已经可用)在Python中)或PyQt(对于更高级的东西)来制作一个界面,以便用户可以提供输入/输出/按钮并分别调用您的函数。 如果您有时间投资,这是正确的方法,即使对于不参与编程的人来说,它也会使您的应用程序变得更好、更可用。

否决后编辑:.exe 通常是为想要使用程序的非工程师创建的,通常涉及界面并且是 Windows 版本特定的。如果您打算在工程师中使用您的程序,Docker 或其他技术可能会更好(所有这些都是一般性的,可能不符合您的具体期望/订单)。

© www.soinside.com 2019 - 2024. All rights reserved.