我是Python的新手。我想编写一个运行在Linux上的脚本。要测试用户是否输入所有脚本参数,请执行以下操作:
print "Usage: myscript [Dir] [Old] [New]"print "Please enter Old and New"print "Please enter New"如何编码myscript?
发布于 2013-01-10 04:19:09
#! /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] )或者你可以使用you解析。这不能像你在问题中要求的那样,但它有望安抚J.F.塞巴斯蒂安。
#! /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 ()发布于 2013-01-10 04:14:26
只需检查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()发布于 2013-01-10 04:14:11
运行脚本时传递的所有参数都将放在sys.argv中。你得先做import sys。然后按照你的意愿来讨论这些争论。你可以考虑数一数你要决定做什么的论点。请注意,第一个参数始终是脚本的名称。
https://stackoverflow.com/questions/14250658
复制相似问题