使用时出现目录层次结构问题制造建筑

2024-10-03 09:20:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建pip包的zip存档,代码如下

import shutil
import os
import pip
shutil.make_archive(os.path.join(os.getcwd(), 'pipzip'), 'zip', root_dir=pip.__path__[0])

但是什么时候

shutil.unpack_archive(os.path.join(os.getcwd(), 'pipzip.zip'))

我得到了当前目录中的文件和文件夹列表,它最初位于pip包中,即

['_internal', '_vendor', '__init__.py', '__main__.py', '__pycache__']

我希望有一个名为pip的目录来包含shutil.unpack_archive时的文件和文件夹列表,那么我应该对shutil.make_archive做什么调整呢?你知道吗

顺便说一句,我不能掌握shutil.make_archive的用法,即使查阅文档,我认为文档应该更新,以便给出一个清晰的描述。你知道吗


Tags: pip文件pathimport文件夹列表makeos
1条回答
网友
1楼 · 发布于 2024-10-03 09:20:24

你已经到一半了。基本上,您指定的是根目录,而不是基目录。您可以使用下面的代码段来完成。你知道吗

import shutil
import os
import pip
from pathlib import Path
shutil.make_archive(base_name=os.path.join(os.getcwd(), 'pipzip'), format='zip', root_dir=Path(pip.__path__[0]).parent, base_dir=Path(pip.__path__[0]).name)
shutil.unpack_archive(os.path.join(os.getcwd(), 'pipzip.zip'))

相关问题 更多 >