【发布时间】:2014-11-17 00:40:22
【问题描述】:
在import sys 之后,我使用sys.argv 来获取输入参数。
但是当我用 PyInstaller 编译我的程序后,exe 程序将不接受我的输入。相反,它使用我为程序设置的默认值。
如果我使用python this_script.py 运行它,它会等待我的输入指定wait_time。但是,我用 PyInstaller 编译后,如果我双击 exe 文件,我没有地方可以输入wait_time。
如何编译它并让 exe 文件接受我的输入?
import sched, time
import sys
s = sched.scheduler(time.time, time.sleep)
# wait_time is an integer representing how many seconds to wait.
def do_something(sc, wait_time):
# Here will be the code for doing something every after "wait_time " seconds
sc.enter(wait_time, 1, do_something, (sc, wait_time))
try:
wait_time = int(sys.argv[1])
except IndexError:
wait_time = 5
# s.enter(wait_time, 1, do_something, (s,))
s.enter(wait_time, 5, do_something, (s, wait_time))
s.run()
【问题讨论】:
-
你能给我们一个简短的代码示例来演示这个问题吗?您是否尝试将其作为脚本而不是已编译的可执行文件运行?
-
您如何运行生成的
.exe文件?您是从命令提示符运行它还是单击它? -
您是否提供了任何命令行参数?
-
以上是代码。我希望程序每 5 分钟重复一次。然后我可以输入wait_time = 300。我想直接运行.exe而不是使用python命令行。
标签: python pyinstaller