在import sys
之后,我使用sys.argv
来获取输入参数。
但是在用pyinstaller编译我的程序之后,exe程序将不接受我的输入。
它将使用我为程序设置的默认值。如何编译它并让exe文件接受我的输入?
我希望我不需要为它写一个gui。抱歉回复晚了。这是代码:
import sched, time
import sys
s = sched.scheduler(time.time, time.sleep)
def do_something(sc,wait_time): //wait_time is an integer representing how many seconds to wait.
// 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()
如果我用" python this_script.py"运行它,它将等待我输入等待的秒数。但是在用pyinstaller编译之后,我双击了exe文件。我没有地方可以输入一个wait_time。
答案 0 :(得分:13)
如果单击exe打开它:
通常,当您双击exe时,只有一个参数<EXEfilename>
。为该exe创建一个快捷方式。在该快捷方式的属性中,您会看到一个名为Target
的属性,该属性将<EXEfilename>
更改为<EXEfilename> <arg1> <arg2>
。当您使用此快捷方式打开exe时,它会调用目标,即此调用<EXEfilename> <arg1> <arg2>
。然后,您可以使用arg1
arg2
和sys.argv
如果使用命令行:
只需将其称为C:\> <EXEfilename> <arg1> <arg2>