Я изменяю много файлов .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)