gpt4 book ai didi

python - 设置工具。如何使包包含额外的数据文件夹和里面的所有文件夹

转载 作者:太空狗 更新时间:2023-10-30 00:45:54 25 4
gpt4 key购买 nike

所以我正在制作 setuptool 包。

要在包中包含额外的数据文件,我需要在 setup() 中指定 data_file 参数。

代码示例:

datadir = os.path.join('share','data')
datafiles = [(datadir, [f for f in glob.glob(os.path.join(datadir, '*'))])]
import metainfo # a file with relevant information
setup(
name = 'yourpackage',
version = metainfo.version,
maintainer = metainfo.maintainer,
maintainer_email = metainfo.maintainer_email,
author = metainfo.authors,
author_email = metainfo.authors,
description = metainfo.description,
keywords = metainfo.keywords,
long_description = metainfo.long_description,

# package installation
packages = find_packages('src'),
package_dir = package_dir,

data_files = datafiles,
}

datafile 这个例子中的变量将包含这样的数据

[('share/data', ['share/data/addon.xml.tmplt', 'share/data/default.py.tmplt'])]

但是,我的示例没有递归地列出文件夹和包含文件。

我需要获取参数 folder_path 并返回元组列表的函数:

[
('share/data', ['share/data/addon.xml.tmplt', 'share/data/default.py.tmplt']),
('share/data/inside', ['share/data/inside/file.iside', 'share/data/inside/file2.inside']),
.........

]

最佳答案

使用os.walk()生成该信息:

datafiles = [(root, [os.path.join(root, f) for f in files])
for root, dirs, files in os.walk(datadir)]

这将产生绝对路径;如果需要,您可以稍微处理 root 变量,使它们相对于 setup.py 目录。

关于python - 设置工具。如何使包包含额外的数据文件夹和里面的所有文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13628979/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com