python - 在包目录中创建一个新文件?
问题描述
我有一个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
异常。如何在我的包中创建一个新文件?
解决方案
问题是我正在调用rescource_string
不存在的 。解决方案是改为调用resource_filename
,它将遵循默认open()
行为。
推荐阅读
- django - 如何在 Windows 上获取所有特定文件夹并获取所有具有特定扩展名的文件
- bash - 如何仅从目录中获取文件名而不是bash中的整个路径
- python - 模拟调用返回一个空列表
- python - 根据与行值的比较在 DataFrame 中创建新列
- r - 添加第一列日期
- python - 获取 NameError:名称“团队”未使用 Selenium Python 定义
- ios - IOS - 默认情况下不出现垂直滚动条+不起作用
- python - 如何在streamlit中使用python数据框样式
- python - 4 维权重 [6, 1, 5, 5] 的预期 4 维输入,但得到了大小为 [1, 28, 28] 的 3 维输入
- amazon-web-services - AWS API Gateway / Axios / Lambda Authorizer - 未经授权和身份验证标头