argparse, python3, не может использовать проанализированный файл как файл - PullRequest
0 голосов
/ 11 ноября 2018

Так что мне нужно проанализировать файл .txt в качестве аргумента моего скрипта. А затем разбить его на строки, превратить в список, а затем распечатать.

parser = argparse.ArgumentParser()
parser.add_argument('textA', type=argparse.FileType('r'), nargs=1, default='textA.txt')
args = parser.parse_args()

textA = args.textA.read().split('\n')
print(textA)

Так что, но в консоли AttributeError: 'list' object has no attribute 'read' заканчивается

Мне кажется, я просто не знаю, как правильно проанализировать файл

Извините за мою грамматику английского

1 Ответ

0 голосов
/ 11 ноября 2018

Параметр narg является причиной проблемы.

Это документация, которая объясняет использование этого параметра https://docs.python.org/3/library/argparse.html?highlight=argparse#nargs

  1. Если вы хотите, чтобы этот аргумент был необязательным и по умолчанию имел значение «textA.txt», вы должны использовать nargs="?" в этом случае.
  2. Если вы хотите сделать это обязательное поле, измените args.textA.read() на args.textA[0].read() и оставьте nargs=1 как
...