在Python模块分发中计算目录路径

2024-06-16 19:14:37 发布

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

我有一个Python模块发行版(它是一个egg),其中包含一些我想在程序运行时复制的附加文件和目录。你知道吗

├── mypkg
│   ├── extra_files
│   │      ├── layouts/
│   │      ├── scripts/
│   │      └── config.yaml

当使用mypkg时,我想将extra_files目录的所有内容复制到磁盘上的其他地方。比如:

shutil.copytree('mypkg/extra_files', destination)

我看了一下pkg_resources,但是我似乎无法用这种方式计算到目录的路径。你知道吗

如何计算分发包中文件和目录的路径?我是否需要首先列出所有目录,然后对每个目录中的每个文件调用pkg_resources.resource_stream?你知道吗


Tags: 模块文件路径目录程序运行configeggscripts
1条回答
网友
1楼 · 发布于 2024-06-16 19:14:37

我可以用__file__实现这一点,它返回第一次加载模块的路径名。我可以获得静态目录的完整路径,如下所示:

import os
directory = os.path.join(os.path.dirname(__file__), 'templates/index.html')

相关问题 更多 >