Python-Zipfile,没有父文件夹

Python-Zipfile,没有父文件夹,python,zipfile,Python,Zipfile,我能够将文件压缩到单个zip文件中,但是当我打开zip文件时,内容总是包含一个“父文件夹”,它与zip文件的名称完全相同 我只是想创建一个完全不包含文件夹的zip文件 当前:abc.zip>abc(文件夹)>文件 查找:abc.zip>文件 def create_zip(file_name, file_dir): """ Function to create zip archive """ os.chdir(file_dir) zipfiles_list

我能够将文件压缩到单个zip文件中,但是当我打开zip文件时,内容总是包含一个“父文件夹”,它与zip文件的名称完全相同

我只是想创建一个完全不包含文件夹的zip文件

当前:abc.zip>abc(文件夹)>文件

查找:abc.zip>文件

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 zipfile_list:
            full_file_path = '{0}.{1}'.format(file_name_part, file_extension)
            zip_archive.write(full_file_path, basename(full_file_path))
这可能吗?我已经看到,如果在创建zip文件后重命名它,它仍然会将内容提取到与zip文件名匹配的文件夹中


在您的代码中,zipfile列表中的文件扩展名有一个单词“zipfile”:
(最后没有“s”)

zipfiles\u列表中的文件扩展名必须为

然后,我在Win7x86中运行您的代码-没问题,没有内部文件夹(python 3.6.6)

在Win 10x64上试用-相同

Xubuntu 18.04 x64-相同,无文件夹

这是我的剧本:

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。

请确切说明您是如何提取问题中的文件的。我运行了您的代码,但没有看到任何文件夹(Win10),我只是通过双击或右键单击并选择“打开”来打开zip文件。由于这个问题被证明是一个简单的疏忽,与问题的性质无关,所以投票决定关闭。如果您首先构建并提供了一个,那么您甚至在提出问题之前就已经看到了问题。