在包目录中创建一个新文件?

时间:2019-02-16 17:10:59

标签: python python-3.x

我有一个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异常。如何在我的程序包中创建一个新文件?

1 个答案:

答案 0 :(得分:0)

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