编译python程序后,如何输入参数

时间:2014-09-22 23:05:49

标签: python pyinstaller

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。

1 个答案:

答案 0 :(得分:13)

如果单击exe打开它:

通常,当您双击exe时,只有一个参数<EXEfilename>。为该exe创建一个快捷方式。在该快捷方式的属性中,您会看到一个名为Target的属性,该属性将<EXEfilename>更改为<EXEfilename> <arg1> <arg2>。当您使用此快捷方式打开exe时,它会调用目标,即此调用<EXEfilename> <arg1> <arg2>。然后,您可以使用arg1

访问arg2sys.argv

如果使用命令行:

只需将其称为C:\> <EXEfilename> <arg1> <arg2>

即可