python接受命令行参数的所有方法
时间: 2023-10-12 22:12:17 浏览: 198
python获得命令行输入的参数的两种方式
在Python中,接受命令行参数有多种方法,下面列举了其中一些常见的方法:
1. 使用sys模块:这是Python标准库中的一种方法,可以使用sys.argv来获取命令行参数。其中,sys.argv[0]表示脚本文件名,sys.argv[1:]表示传递的参数列表。示例代码如下:
```python
import sys
if len(sys.argv) == 1:
print("Usage: python script.py arg1 arg2 ...")
else:
args = sys.argv[1:]
print("Command line arguments:")
for arg in args:
print(arg)
```
2. 使用argparse模块:这是Python标准库中的另一种方法,可以更方便地处理命令行参数。可以指定参数的名称、类型、默认值等。示例代码如下:
```python
import argparse
parser = argparse.ArgumentParser(description='Process some integers.')
parser.add_argument('integers', metavar='N', type=int, nargs='+',
help='an integer for the accumulator')
parser.add_argument('--sum', dest='accumulate', action='store_const',
const=sum, default=max,
help='sum the integers (default: find the max)')
args = parser.parse_args()
print(args.accumulate(args.integers))
```
3. 使用getopt模块:这是Python标准库中的另一种方法,可以处理更复杂的命令行参数,支持短选项和长选项。示例代码如下:
```python
import getopt
import sys
def main(argv):
inputfile = ''
outputfile = ''
try:
opts, args = getopt.getopt(argv,"hi:o:",["ifile=","ofile="])
except getopt.GetoptError:
print ('test.py -i <inputfile> -o <outputfile>')
sys.exit(2)
for opt, arg in opts:
if opt == '-h':
print ('test.py -i <inputfile> -o <outputfile>')
sys.exit()
elif opt in ("-i", "--ifile"):
inputfile = arg
elif opt in ("-o", "--ofile"):
outputfile = arg
print ('Input file is "', inputfile)
print ('Output file is "', outputfile)
if __name__ == "__main__":
main(sys.argv[1:])
```
以上是Python接受命令行参数的一些常见方法,不同的方法适用于不同的场景,选择合适的方法可以让命令行参数的处理更加方便和高效。
阅读全文