如何使用PyInstaller编译Python程序后输入参数
问题描述
在import sys
之后,我使用sys.argv
获取输入参数。
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时,只有一个参数是<EXEfilename>
。为该EXE创建快捷方式。在该快捷方式的属性中,您将看到一个名为Target
的属性,该属性将包含<EXEfilename>
,将其更改为<EXEfilename> <arg1> <arg2>
。当您使用此快捷方式打开exe时,它会调用目标,即this call<EXEfilename> <arg1> <arg2>
。然后,您可以使用sys.argv
访问arg1
和arg2
如果使用命令行:
就称它为C:> <EXEfilename> <arg1> <arg2>
相关文章