Попытка сделать аргумент в argparse, где можно ввести несколько имен файлов, которые можно прочитать. В этом примере я просто пытаюсь распечатать каждый из объектов файла, чтобы убедиться, что он работает правильно, но я получаю ошибку:
error: unrecognized arguments: f2.txt f3.txt
, Как я могу заставить его распознать все из них?
моя команда в терминале для запуска программы и чтения нескольких файлов
python program.py f1.txt f2.txt f3.txt
Скрипт Python
import argparse
def main():
parser = argparse.ArgumentParser()
parser.add_argument('file', nargs='?', type=file)
args = parser.parse_args()
for f in args.file:
print f
if __name__ == '__main__':
main()
Я использовал nargs='?'
b/c Я хочу, чтобы это было любое количество файлов, которые можно использовать. Если я изменил add_argument
на:
parser.add_argument('file', nargs=3)
то я могу напечатать их как строки, но я не могу заставить его работать с '?'