【发布时间】:2017-05-08 01:40:36
【问题描述】:
我有一个使用一些全局变量的 Python 项目。该项目有多个 .py 文件,所有这些文件都需要能够轻松读取这些变量。他们都应该能够编辑它们。
现在我正在使用一个 .py 文件来存储变量,我只是将它们作为模块导入到其他文件中。但是,此解决方案远非最佳,因为我无法轻松编辑它们。我天真地尝试为变量编写 setter,但显然这也不起作用。
我曾考虑将 JSON 用于变量,但读取它们并不像“导入 cfg”那么简单。
对于这个问题有没有标准的解决方案,因为我是菜鸟,所以我不知道?
感谢您的每一个回答。
【问题讨论】:
-
使用数据库或写入文件。这两个似乎是最明显的答案。
-
@GarrettKadillak 我想过,但它似乎有点过分,因为我只需要存储大约 10 个变量。我不想让事情变得过于复杂。
-
我同意数据库有点矫枉过正,但你可以使用sqlite。此外,使用 Python 读取/写入文件非常容易,所以我不同意它使事情复杂化。
-
@GarrettKadillak 感谢关于 sqlite 的建议,我会阅读它。至于文件写入 - 所以您建议仅将这些变量的值存储在文本文件中,然后读取它们并将它们实际分配给“cfg.py”模块中的正确变量名?我喜欢将 .py 文件作为配置的原因是我不需要介意变量的顺序,我可以添加 cmets 并基本上将文件组织成尽可能可读。通过标准 Python 函数从文件读取似乎受到更多限制
-
您可以使用
DictReader将CSV 作为字典作为python 读取,这样您就可以根据需要组织文件:)
标签: python-3.x global-variables file-manipulation configuration-files