Как передать переменную в argparse в Python - PullRequest
0 голосов
/ 14 декабря 2018

У меня есть скрипт 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'

И затем, очевидно, появляется сообщение об ошибке, что он не может найти файл.

1 Ответ

0 голосов
/ 14 декабря 2018

Вы должны просто сделать:

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

Ваша переменная args в Python должна содержать ifile='text_file.txt':

text_file.txt
...