1

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

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

使用时mypkg,我想将extra_files目录的所有内容复制到磁盘上的其他位置。就像是:

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

我已经看过了,pkg_resources但是似乎我无法以这种方式计算目录的路径。

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

4

1 回答 1

0

我实际上可以使用 来执行此操作__file__,它返回第一次加载模块的路径名。我可以像这样获得静态目录的完整路径:

import os
directory = os.path.join(os.path.dirname(__file__), 'templates/index.html')
于 2016-09-25T01:28:59.877 回答