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

时间:2018-12-14 00:28:21

标签: python argparse

我有一个包含argparse并带有文件的python脚本func.py

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'

然后显然是一条错误消息,提示它找不到文件。

1 个答案:

答案 0 :(得分:2)

您应该能够:

$ new_file="text_file.txt"
$ ./func.py -I $new_file

您在Python中的args变量应包含ifile='text_file.txt'

text_file.txt