Я хотел бы изменить и заменить строки всех .txt-файлов в директории с питоном для этой цели я использую следующий код:Как редактировать строки всех текстовых файлов в директории с питоном
path = '.../dbfiles'
for filename in os.listdir(path):
for i in os.listdir(path):
if i.endswith(".txt"):
with open(i, 'r') as f_in:
for line in f_in:
line=tweet_to_words(line).encode('utf-8')
open(i, 'w').write(line)
, где tweet_to_words(line)
является предопределенной функцией для строк редактирования текстового файла. Хотя я не уверен, правильная ли логика кода !? Я также облицовочный следующее сообщение об ошибке:
IOError: [Errno 2] No such file or directory: 'thirdweek.txt'
но «thirdweek.txt» существуют в каталоге! Итак, мой вопрос заключается в том, правильно ли я использую метод, который я использую для редактирования строк в файле !? и если да, то как я могу исправить ошибку?
Если файлы не огромны (более 1 МБ), я предлагаю сначала прочитать файл с содержимым = f.readlines(), а затем применить twe et_to_words для каждого элемента. После этого снова откройте файл для записи и записи преобразованных строк (f.write ("". Join (content)) – traianus
Вам нужно указать правильный путь, как показано в ответе Охада. И вам нужна другая логика для редактирования файла. В настоящее время ваш вызов '.write' уничтожит все существующее содержимое файла. Либо сделайте то, что предлагает traianus, или даже проще, создайте новый файл, содержащий отредактированные данные. –