Модифицируйте .txt файлы, сохраняйте оригиналы и перемещайте измененные - PullRequest
0 голосов
/ 12 апреля 2020

Я изменяю много файлов .txt, добавляя в конце строку. Как сохранить исходные файлы, а затем переместить и переименовать измененные? Я использую библиотеку os.

i - iterated .txt files
new_name is variable consiting of random numbers
path=os.getcwd()
dirName=('new_directory')

Этот код только перемещает файлы:

old_file = os.path.join(path, str(i)) 
new_path = os.path.join(path, dirName) 
new_file = os.path.join(new_path, new_name) 
os.rename(old_file, new_file) 

Я также хотел бы использовать библиотеку os для перемещения и переименования измененных файлов.

Вот весь мой код:

import os
import random

pressure=('Added pressure:')
dirName=('new_directory')
path=os.getcwd()

try:
    os.mkdir(dirName)
    print("Done: "+dirName) 
except FileExistsError:
    print("Directory" + dirName +" exist")

list=[]
for file in os.listdir("./"): 
    if file.endswith(".txt"):
        lista.append(file)

for i in list:
    f = open(i,"r")    
    file_contents = f.read()   
    print(f.read())
    f.close()
    if(pressure in file_contents):  
        print('It was added!')
    else:
        file=open(i, 'a') 
        rand_press=(str(random.randrange(980, 1040, 5))) #
        rand_temp=(str(round(random.uniform(18, 26),2))) 
        press_and_temp=('Added pressure: \t'+rand_press+' mbar\n'+'Added temperature: \t'+rand_temp+' degC\n')
        file.write(press_and_temp) 
        file.close()
        new_name=str(rand_temp+'_'+rand_press+'.txt')
        old_file = os.path.join(path, str(i)) 
        new_path = os.path.join(path, dirName) 
        new_file = os.path.join(new_path, new_name) 
        os.rename(old_file, new_file) 

1 Ответ

0 голосов
/ 12 апреля 2020

Вот два предложения.

1) Скопируйте файл в новое место. Изменить второй файл. https://docs.python.org/3/library/shutil.html

2) Прочитайте файл, сохраните его в некоторой переменной. Закройте файл. Создайте новый файл в новом месте, запишите файл с вашими изменениями, сохраните его. https://www.guru99.com/reading-and-writing-files-in-python.html

...