Python:写入包中的文件?

时间:2013-05-03 19:59:10

标签: python pkg-resources

使用这种一般结构:

setup.py
/package
    __init__.py
    project.py
    /data
        client.log

我有一个脚本可以将名称列表保存到client.log,所以每次我需要访问它或运行模块时,我都不必重新初始化该列表。在使用pkg_resources设置此结构之前,我使用open('.../data/client.log', 'w')使用显式路径更新日志,但这不再起作用。

有没有办法在模块中编辑数据文件?或者有更好的方法来保存此列表吗?

1 个答案:

答案 0 :(得分:5)

不,pkg_resources用于读取包中的资源。您不能使用它来写日志文件,因为它是日志文件的错误位置。加载库的用户通常不应该可以写入包目录。此外,您的包实际上可能位于ZIP文件中。

您应该将日志存储在日志目录中。放在哪里取决于很多事情,最大的问题是你的操作系统,还有它的系统软件或用户软件。