ZipFile将文件夹存档,

2024-05-15 00:18:58 发布

您现在位置: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 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获取它们的扩展名


Tags: 文件pathimportmainmyzipinizipfile
1条回答
网友
1楼 · 发布于 2024-05-15 00:18:58

如果您的文件直接位于存档文件夹中,则可以对文件进行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])

相关问题 更多 >

    热门问题