Python 是否有一种方法可以绕过需要解包的多个值?
我在python中的sys模块中使用argv时遇到了问题,我希望有一个脚本,它可以选择像vim这样的程序,或者另一个像-t这样的参数的程序。在这些类型的程序中,您有一个或多个参数。如果我想要一个参数,它会给我一个值错误,有没有一种方法可以使用argv获得一个或多个选项?如果没有,像ls或vim这样的程序如何使用选项Python 是否有一种方法可以绕过需要解包的多个值?,python,options,argv,Python,Options,Argv,我在python中的sys模块中使用argv时遇到了问题,我希望有一个脚本,它可以选择像vim这样的程序,或者另一个像-t这样的参数的程序。在这些类型的程序中,您有一个或多个参数。如果我想要一个参数,它会给我一个值错误,有没有一种方法可以使用argv获得一个或多个选项?如果没有,像ls或vim这样的程序如何使用选项 import sys argv = sys.argv script, option1, option2, option3 = argv if option1 or option2
import sys
argv = sys.argv
script, option1, option2, option3 = argv
if option1 or option2 or option3 == '--help':
print 'Help will be added after the script is finished W-I-P'
elif option1 or option2 or option3 == '':
print 'if you need help type time.py --help'
else:
print 'Syntax error refer to --help for options'
谢谢 这有帮助吗
import sys
argv = sys.argv
if '--help' in argv:
print 'Help will be added after the script is finished W-I-P'
elif len(argv) < 4:
print 'Syntax error refer to --help for options'
else:
script, option1, option2, option3 = argv
您应该查看
argparse
模块。此外,由于您编写它们的方式不同,您的if语句不能实现您想要的功能。可以echo@c吗ᴏʟᴅsᴘᴇᴇᴅ argparse旨在处理这一问题,这是我学习如何使用argparse
的一个很好的起点。无论如何,学习argparse
。同时,考虑另一个方向:if“--help”在argv
中。如果列表中已经有了这些参数,为什么要将它们放入具有通用名称的不同变量中?将argparse
与此概念结合使用,您将获得更好的代码。
> python test.py --help
Help will be added after the script is finished W-I-P
> python test.py 1 2 3 --help
Help will be added after the script is finished W-I-P
> python test.py 1 2
Syntax error refer to --help for options
> python test.py 1 2 3
>