我是Python的新手。我想编写一个在Linux上运行的脚本。 测试用户是否输入所有脚本参数:
print "Usage: myscript [Dir] [Old] [New]"
print "Please enter Old and New"
print "Please enter New"
如何编写myscript代码?
答案 0 :(得分:7)
#! /usr/bin/python3.2
import sys
if __name__ == '__main__':
if len (sys.argv) < 4:
print ( ['Usage: myscript [Dir] [Old] [New]',
'Please enter Old and New',
'Please enter New'] [len (sys.argv) - 1] )
或者你可以使用argparse。这不符合你在问题中所要求的,但它有望安抚J.F. Sebastian。
#! /usr/bin/python3.2
import argparse
if __name__ == '__main__':
p = argparse.ArgumentParser (description = 'What your program does.')
p.add_argument ('dir', metavar = 'dir', type = str, help = 'The directory')
p.add_argument ('old', metavar = 'old', type = str, help = 'The old value')
p.add_argument ('new', metavar = 'new', type = str, help = 'The new value')
args = p.parse_args ()
答案 1 :(得分:2)
只需检查len(sys.argv)
的值即可。请注意,第一个参数将是python文件名本身。
像这样:
import sys
argc = len(sys.argv)
if argc < 2:
print "Usage: myscript [Dir] [Old] [New]"
sys.exit();
elif argc < 3:
print "Please enter Old and New"
sys.exit();
elif argc < 4:
print "Please enter New"
sys.exit();
main()
答案 2 :(得分:0)
运行脚本时传递的所有参数都将放在sys.argv
中。您必须先import sys
。然后按照您的意愿查看参数。您可以考虑计算您有多少参数来决定要做什么。请注意,第一个参数始终是脚本的名称。