使用这种一般结构:
setup.py
/package
__init__.py
project.py
/data
client.log
我有一个脚本可以将名称列表保存到client.log
,所以每次我需要访问它或运行模块时,我都不必重新初始化该列表。在使用pkg_resources
设置此结构之前,我使用open('.../data/client.log', 'w')
使用显式路径更新日志,但这不再起作用。
有没有办法在模块中编辑数据文件?或者有更好的方法来保存此列表吗?
答案 0 :(得分:5)
不,pkg_resources
用于读取包中的资源。您不能使用它来写日志文件,因为它是日志文件的错误位置。加载库的用户通常不应该可以写入包目录。此外,您的包实际上可能位于ZIP文件中。
您应该将日志存储在日志目录中。放在哪里取决于很多事情,最大的问题是你的操作系统,还有它的系统软件或用户软件。