Python:如何将.7z转换为.rar或.zip?

Python:如何将.7z转换为.rar或.zip?,python,zip,7zip,rar,Python,Zip,7zip,Rar,如何使用Python将.7z文件转换为.rar或.zip文件?可以通过两个步骤完成。首先,解压缩.7z文件,然后将内容压缩为zip文件 解压缩.7z文件 from lib7zip import Archive, formats with Archive('filename.7z') as archive: # extract all items to the directory # directory will be created if it doesn't exist

如何使用Python将.7z文件转换为.rar或.zip文件?

可以通过两个步骤完成。首先,解压缩.7z文件,然后将内容压缩为zip文件

解压缩.7z文件

from lib7zip import Archive, formats

with Archive('filename.7z') as archive:
    # extract all items to the directory
    # directory will be created if it doesn't exist
    archive.extract('directory')
#!/usr/bin/env python
import os
import zipfile

def zipdir(path, ziph):
    # ziph is zipfile handle
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

if __name__ == '__main__':
    zipf = zipfile.ZipFile('file.zip', 'w', zipfile.ZIP_DEFLATED)
    zipdir('tmp/', zipf)
    zipf.close()
参考:

压缩到zip文件

from lib7zip import Archive, formats

with Archive('filename.7z') as archive:
    # extract all items to the directory
    # directory will be created if it doesn't exist
    archive.extract('directory')
#!/usr/bin/env python
import os
import zipfile

def zipdir(path, ziph):
    # ziph is zipfile handle
    for root, dirs, files in os.walk(path):
        for file in files:
            ziph.write(os.path.join(root, file))

if __name__ == '__main__':
    zipf = zipfile.ZipFile('file.zip', 'w', zipfile.ZIP_DEFLATED)
    zipdir('tmp/', zipf)
    zipf.close()