我有一个包含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'
然后显然是一条错误消息,提示它找不到文件。
答案 0 :(得分:2)
您应该能够:
$ new_file="text_file.txt"
$ ./func.py -I $new_file
您在Python
中的args变量应包含ifile='text_file.txt'
:
text_file.txt