2024-06-02 04:39:27 发布
网友
我想使用shutil.make_archive命令压缩一个文本文件。我使用以下命令:
shutil.make_archive
shutil.make_archive('gzipped'+fname, 'gztar', os.path.join(os.getcwd(), fname)) OSError: [Errno 20] Not a directory: '/home/user/file.txt'
我尝试了几种变体,但它一直试图压缩整个文件夹。如何正确操作?
试试这个并检查shutil
将文件复制到目录。
cd目录
shutil.make_archive('gzipped', 'gztar', os.getcwd())
shutil无法从一个文件创建存档。您可以使用tarfile,而不是:
shutil
tarfile
tar = tarfile.open(fname + ".tar.gz", 'w:qz') os.chdir('/home/user') tar.add("file.txt") tar.close()
或者
tar = tarfile.open(fname + ".tar.gz", 'w:qz') tar.addfile(tarfile.TarInfo("/home/user/file.txt"), "/home/user/file.txt") tar.close()
实际上^{}可以将一个文件存档!只需将目标目录的路径传递为root_dir,将目标文件名传递为base_dir。
root_dir
base_dir
试试这个:
import shutil file_to_zip = 'test.txt' # file to zip target_path = 'C:\\test_yard\\' # dir, where file is try: shutil.make_archive(target_path + 'archive', 'zip', target_path, file_to_zip) except OSError: pass
试试这个并检查shutil
将文件复制到目录。
cd目录
shutil
无法从一个文件创建存档。您可以使用tarfile
,而不是:或者
实际上^{} 可以将一个文件存档!只需将目标目录的路径传递为
root_dir
,将目标文件名传递为base_dir
。试试这个:
相关问题 更多 >
编程相关推荐