Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.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中将变量传递到argparse_Python_Argparse - Fatal编程技术网

如何在python中将变量传递到argparse

如何在python中将变量传递到argparse,python,argparse,Python,Argparse,我有一个python脚本func.py,它包含argparse并获取一个文件 parser = argparse.ArgumentParser(description='test') parser.add_argument('-i', dest='ifile', metavar="FILE", help='input file') args = parser.parse_args() 这个ifile基本上只是目录中该文件的名称 filename = 'PATH TO FILE' + args.

我有一个python脚本func.py,它包含argparse并获取一个文件

parser = argparse.ArgumentParser(description='test')
parser.add_argument('-i', dest='ifile', metavar="FILE", help='input file')
args = parser.parse_args()
这个ifile基本上只是目录中该文件的名称

filename = 'PATH TO FILE' + args.ifile
如果我有一个包含文件名的变量,如何将该变量传递给argparse,以便它获取该变量的字符串值? 大概是这样的:

new_file = 'text_file.txt'
func.py -i new_file
filename = 'PATH TO FILE' + 'text_file.txt'
我现在得到的是:

new_file = "text_file.txt'
python func.py -I new_file
filename = 'PATH TO FILE' + 'new_file'

然后很明显会出现一条错误消息,说明它找不到该文件。

您只需执行以下操作即可:

$ new_file="text_file.txt"
$ ./func.py -I $new_file
然后,
Python
中的args变量应该包含
ifile='text\u file.txt'

text_file.txt

你能举一个更详细的例子吗?我甚至不知道这些行是从哪里来的,您希望命令行参数引用变量名的原因是什么?我怀疑您在解决您试图解决的任何问题时走错了方向。@user10605163我需要在jupyter笔记本(!func.py-I new_file)中运行func.py。不幸的是,我没有其他方法可以运行此脚本。请将jupyter添加到问题中。通常这在python中不是问题。