Python:写入包中的文件?

Ins*_*rov 4 python pkg-resources

使用这种一般结构:

setup.py
/package
    __init__.py
    project.py
    /data
        client.log
Run Code Online (Sandbox Code Playgroud)

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

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

Len*_*bro 5

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

您应该将日志存储在日志目录中.在哪里放置取决于很多东西,最大的问题是您的操作系统,但如果它是系统软件或用户软件.