在我的python脚本中,我正在读取一个文本文件。对于该文件,我给出了UNIX中命令行的路径,如下所示:
python My_script.py --d /fruit/apple/data1.txt
我将在同一脚本中再读取一个文件。所以我只想知道如何传递2个参数来获取2个文件的路径。我有下面的代码是一个参数的完美工作。
parser=argparse.ArgumentParser()
parser.add_argument('--d', '--directory', required=True, action='store', dest='directory', default=False, help="provide directory name")
args=parser.parse_args()
file_apple=args.directory
A=open(file_apple)
file1=A.read()
因此,在我的UNIX命令行中,我编写了以下脚本,脚本成功运行
python My_script.py --d /fruit/apple/data1.txt
目标是提供如下第二个参数,并希望将该文件作为第一个参数读取。
python My_script.py --d /fruit/apple/data1.txt --d /fruit/orange/data2.txt
感谢您在此方面的帮助。
您可以使用nargs。
parser=argparse.ArgumentParser()
parser.add_argument('-d', '--directory', nargs='+' required=True, action='store', dest='directory', default=False, help="provide directory name")
args=parser.parse_args()
file_apple=args.directory
print file_apple
...
我给定的nargs
值+
表示该命令有1个或多个参数。因此,您必须至少提供一个文件路径参数。
如果您确定总是只有两个或某个固定数字,则可以指定为 nargs = 3
现在file_apple
将是一个变量,其中包含您传递的路径列表。
$ python My_script.py -d /fruit/apple/data1.txt
['/fruit/apple/data1.txt']
和:
$ python My_script.py -d /fruit/apple/data1.txt /fruit/orange/data2.txt
['/fruit/apple/data1.txt', '/fruit/orange/data2.txt']
PS:传统上,单破折号用于单字符标志,而双破折号用于多字符。喜欢-d
或--directory
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句