Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python ZipFile也将文件夹归档_Python - Fatal编程技术网

Python ZipFile也将文件夹归档

Python ZipFile也将文件夹归档,python,Python,我想将所有.ini文件插入存档;它做得很好,但当我打开我的.zip时,也会有指向这些文件的路径文件夹 这是我的密码: from path import Path import zipfile def main(): folderul_cu_demouri = Path('/my/path/bla/bla') nume_arhiva = 'demoz.zip' arhiva = zipfile.ZipFile(nume_arhiva, 'w') for demo

我想将所有.ini文件插入存档;它做得很好,但当我打开我的.zip时,也会有指向这些文件的路径文件夹

这是我的密码:

from path import Path
import zipfile

def main():

    folderul_cu_demouri = Path('/my/path/bla/bla')
    nume_arhiva = 'demoz.zip'
    arhiva = zipfile.ZipFile(nume_arhiva, 'w')
    for demo in folderul_cu_demouri.files(pattern='*.ini'):

        arhiva.write(demo)

    arhiva.close()  


if __name__ == '__main__':
    main()      
所以当我打开我的zip文件时,我必须浏览/my/path/to/files,只有这样我才能看到我的.ini文件。我怎样才能使它只在zip文件中插入.ini,而不插入目录

谢谢


PS:我正在使用path.py获取它们的扩展名。

如果您的文件直接位于存档文件夹中,您可以对文件进行basename,并在arcname参数中传递名称,这样存档中的名称就是文件名,而无需完整路径:

arhiva.write(demo,arcname=os.path.basename(demo))
否则,您可以删除完整文件路径的第一个字符,以便保留相对路径:

len_to_strip = len('/my/path/bla/bla')+1

arhiva.write(demo,arcname=demo[:len_to_strip])

我很确定nori不想在归档文件中保留任何文件夹名称,他们只是想要一个完全扁平的结构。在这种情况下,第一行回答这是最简单的一行