Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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 2.7 Python中的多个命令行参数_Python 2.7_Unix_Command Line Arguments - Fatal编程技术网

Python 2.7 Python中的多个命令行参数

Python 2.7 Python中的多个命令行参数,python-2.7,unix,command-line-arguments,Python 2.7,Unix,Command Line Arguments,在我的python脚本中,我正在读取一个文本文件。对于该文件,我给出了UNIX中命令行的路径,如下所示: python My_script.py --d /fruit/apple/data1.txt 我将在同一脚本中再读取一个文件。所以我只是想知道如何传递2个参数来获得2个文件的路径。 我有下面的代码,对于一个参数来说非常有效 parser=argparse.ArgumentParser() parser.add_argument('--d', '--directory', requir

在我的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', 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()
如果您确定始终只有两个或一些固定数字,那么您也可以像
nargs=3

现在,
file\u apple
将是一个变量,其中包含您传递的路径列表

$ python My_script.py -d /fruit/apple/data1.txt
['/fruit/apple/data1.txt']
以及:


PS:传统上,单破折号用于单字符标志,双破折号用于多字符。像
-d
-目录

非常感谢。它像预期的那样工作。谢谢你提供关于-d和--d的信息!!
$ python My_script.py -d /fruit/apple/data1.txt /fruit/orange/data2.txt
['/fruit/apple/data1.txt', '/fruit/orange/data2.txt']