Когда я пытаюсь заархивировать каталог с помощью следующего кода, мой каталог заархивирован и содержит все файлы, которые я хотел бы заархивировать, однако он также заархивирует корневые каталоги для каталога, который я хотел бы заархивировать.
(Test — это целевой каталог для архивирования — он содержит другие каталоги и файлы). При распаковке my_python_files.zip он распаковывается с абсолютными путями:
распаковка my_python_files.zip:
\Users\hhafez\Desktop\Test
когда я хотел бы иметь:
\Тест
У меня возникли проблемы с попыткой найти способ избежать этого, любые советы будут высоко оценены.
def get_all_file_paths(directory):
file_paths = []
for root, directories, files in os.walk(directory):
for filename in files:
filepath = os.path.join(root, filename)
file_paths.append(filepath)
return file_paths
def zipfiles():
file_paths = get_all_file_paths(r"C:\Users\hhafez\Desktop\Test")
with ZipFile('my_python_files.zip','w') as myzip:
for file in file_paths:
print(file)
myzip.write(file)
print('All files zipped successfully!')
zipfiles()