Как сохранить файл, используя fileinput в python? Gaming AttributeError: у объекта FileInput нет атрибута «чтение» - PullRequest
1 голос
/ 24 июня 2019

Я сохраняю файл, используя модуль fileinput, но выкидываю AttributeError: у объекта 'FileInput' нет атрибута 'read'

Я закрыл файл, посмотрев на некоторые вопросы о переполнении стека

 import re
 import fileinput
 rx = r'\d+(?=:$)'
 with fileinput.input('branch.txt', inplace=True) as fh:
    data = fh.read()
    print(re.sub(rx , lambda x: str(int(x.group(0)) + 1), data, 1, re.M))
    data.close()
    fh.close

если я использую обычный режим, я получаю io.UnsupportedOperation: не читается

 import re
 rx = r'\d+(?=:$)'
 with open('branch.txt','a') as fh:
    fh_n = fh.read()
    x = (re.sub(rx, lambda x: str(int(x.group(0)) + 1), fh_n, 1, re.M))
    #print (x)
    fh.write(x)
    fh.close()

1 Ответ

0 голосов
/ 25 июня 2019

если я использую обычный режим, я получаю io.UnsupportedOperation: не читается

 import re
 …
 with open('branch.txt','a') as fh:

Это потому, что нельзя читать из файла, открытого в режиме 'a' (добавление).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...