0

我使用的许多命令行 .exe 应用程序允许您标记可选输入,例如 program.exe -o outputfile.txt -f F 其中“-o”表示与默认值不同的可选输出文件名,其中“-F”表示关于脚本的另一个选项。

到目前为止,我一直在使用 sys.arg[] 变量将文件名等输入到我的 python 脚本中,但这必须按照设定的顺序进行,是否可以在 python 脚本中标记输入?

[这一切都是因为我不小心将输入名称和输出名称以错误的顺序放置并覆盖了我的输入文件]

4

2 回答 2

7

如果您使用的是 Python 2.7,则需要使用argparse。如果您使用的是旧版本,则需要optparse模块。

于 2010-10-19T18:40:51.590 回答
2

您可以使用 python 提供的模块来处理命令行参数。

但是,这不会消除无意中覆盖输入文件的问题。为此,您可以发出一个简单的警告,即如果输出文件已经存在,继续进行将覆盖您的输出文件并等待用户输入继续进行。这样,如果您发现输出文件名不正确,至少您可以有机会停止处理。

像这样的东西:

>>> var = raw_input('Please enter "Y" to proceed further:')
Please enter "Y" to proceed further:Y
>>> var
'Y'
>>>if var == 'Y':
...  sys.exit(0)
... 
于 2010-10-19T18:43:34.997 回答