Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 是否有一种方法可以绕过需要解包的多个值?_Python_Options_Argv - Fatal编程技术网

Python 是否有一种方法可以绕过需要解包的多个值?

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

我在python中的sys模块中使用argv时遇到了问题,我希望有一个脚本,它可以选择像vim这样的程序,或者另一个像-t这样的参数的程序。在这些类型的程序中,您有一个或多个参数。如果我想要一个参数,它会给我一个值错误,有没有一种方法可以使用argv获得一个或多个选项?如果没有,像ls或vim这样的程序如何使用选项

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
>