我可以像这样调用我的脚本:
python D:\myscript.py 60
Run Code Online (Sandbox Code Playgroud)
在剧本中我可以做到:
arg = sys.argv[1]
foo(arg)
Run Code Online (Sandbox Code Playgroud)
但是我如何测试参数是否已在命令行调用中输入?我需要做这样的事情:
if isset(sys.argv[1]):
foo(sys.argv[1])
else:
print "You must set argument!!!"
Run Code Online (Sandbox Code Playgroud)
Kat*_*iel 45
不要sys.argv用于处理命令行界面; 有一个模块可以做到这一点:argparse.
你可以通过传递required=True来标记一个参数add_argument.
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument("foo", ..., required=True)
parser.parse_args()
Run Code Online (Sandbox Code Playgroud)
chr*_*ris 24
if len(sys.argv) < 2:
print "You must set argument!!!"
Run Code Online (Sandbox Code Playgroud)
小智 6
if len(sys.argv) == 1:
print('no arguments passed')
sys.exit()
Run Code Online (Sandbox Code Playgroud)
这将检查是否传递了任何参数。如果没有参数,它将退出脚本,而不运行它的其余部分。
| 归档时间: |
|
| 查看次数: |
61776 次 |
| 最近记录: |