首页 > 解决方案 > 在包目录中创建一个新文件?

问题描述

我有一个settings.yaml文件不会随包一起发布,因为.gitignore. 我有一个安装脚本,它接受用户输入并将其放入settings.yaml,然后我可以将它们导入我的所有模块中:

with open(pkg_resources.resource_string(__name__, "settings.yml"), 'w+') as outfile:
        yaml.dump(data, outfile, default_flow_style=False)

但是,如果文件不存在,这不会创建新文件,而是会引发FileNotFoundError异常。如何在我的包中创建一个新文件?

标签: pythonpython-3.x

解决方案


问题是我正在调用rescource_string不存在的 。解决方案是改为调用resource_filename,它将遵循默认open()行为。


推荐阅读