В вашем коде у вас есть ошибка в слове ' zipfiles ': for file_extension in zipfile_list:
(без 's' в конце).
Это должно быть for file_extension in zipfiles_list:
.
Чем я запускаю ваш код в Win7x86 - все нормально, нет внутренней папки (python 3.6.6).
Пробовал на Win 10x64 - тоже самое.
Xubuntu 18.04x64 - тоже самое, без папки.
Вот мой скрипт:
from os.path import basename
from os import path
import os
import zipfile
# current directory
script_dir = path.dirname(path.abspath(__file__))
def create_zip(file_name, file_dir):
"""
Function to create zip archive
"""
os.chdir(file_dir)
zipfiles_list = ['csv', 'txt']
file_name_part = file_name
zip_name = '{0}.zip'.format(file_name_part)
with zipfile.ZipFile(zip_name, 'w', zipfile.ZIP_DEFLATED) as zip_archive:
for file_extension in zipfiles_list:
full_file_path = '{0}.{1}'.format(file_name_part, file_extension)
zip_archive.write(full_file_path, basename(full_file_path))
create_zip("first", script_dir)
В каталоге со скриптом есть два файла: first.txt и first.csv.После запуска этого скрипта у меня есть zip-файл first.zip с двумя файлами внутри: first.txt и first.csv.