Просто возвращаюсь в Python и пытаюсь создать сценарий, который будет соответствовать именам файлов, переименовывать, архивировать их, а затем, в конечном счете, создавать из них управляющий файл (этого я еще не написал). Он работает с файлами, размещенными в каталоге, но в конце я получаю сообщение об ошибке: FileNotFoundError: [WinError 2] Системе не удается найти указанный файл: 'A20190331.txt' -> 'B20190530.txt'. Это перезапускает мой цикл txt_files for в начале после переименования? Код, вероятно, не является оптимальным на данный момент.
import os
import zipfile
try:
import zlib
compression = zipfile.ZIP_DEFLATED
except:
compression = zipfile.ZIP_STORED
path = 'mypath'
txt_files = []
for root, dirs, files in os.walk(path):
for file in files:
txt_files.append(file)
def create_zip(data_dt):
for files in txt_files:
if '.py' in files:
continue
elif 'A' in files:
file_name = 'A' + data_dt + '.txt'
name_full_path = path +'\\'+ file_name
os.rename(files, file_name)
zf = zipfile.ZipFile('A' + data_dt+ '.zip', mode='w')
zf.write(name_full_path, file_name, compress_type=compression)
zf.close()
elif 'B' or 'C' in files:
file_name = 'B' + data_dt + '.txt'
name_full_path = path +'\\'+ file_name
os.rename(files, file_name)
zf = zipfile.ZipFile('B' + data_dt +'.zip', mode='w')
zf.write(name_full_path, file_name, compress_type=compression)
zf.close()
else:
break
create_zip('20190530')