如何制作一个存储全局变量但也可以从代码级别轻松编辑的配置文件?
How to make a config file that stores global variables but can also be easily edited from the level of the code?
我有一个 Python 项目使用了一些全局变量。该项目有多个 .py 文件,所有文件都需要能够轻松读取这些变量。他们所有人也应该能够编辑它们。
现在我正在使用一个存储变量的 .py 文件,我只是将它们作为一个模块导入到其他文件中。不过,这个解决方案远非最佳,因为我无法轻松编辑它们。我天真地尝试为变量编写 setter,但显然这也不起作用。
我考虑过使用 JSON 作为变量,但是读取它们并不像 'import cfg' 那样容易。
对于这个问题,有没有我不知道的标准解决方案,因为我是菜鸟?
感谢您的每一个回答。
将信息存储在 CSV 文件中,然后使用 csv.reader
将键值对写入类似字典的内容。下面是一些帮助您入门的示例代码:
csv 文件:
firstname Garrett
something_else blah
Python:
import csv
output = []
with open('csv.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=' ')
for row in reader:
output.append(tuple(row))
return {key: value for (key, value) in output}
我有一个 Python 项目使用了一些全局变量。该项目有多个 .py 文件,所有文件都需要能够轻松读取这些变量。他们所有人也应该能够编辑它们。
现在我正在使用一个存储变量的 .py 文件,我只是将它们作为一个模块导入到其他文件中。不过,这个解决方案远非最佳,因为我无法轻松编辑它们。我天真地尝试为变量编写 setter,但显然这也不起作用。
我考虑过使用 JSON 作为变量,但是读取它们并不像 'import cfg' 那样容易。
对于这个问题,有没有我不知道的标准解决方案,因为我是菜鸟?
感谢您的每一个回答。
将信息存储在 CSV 文件中,然后使用 csv.reader
将键值对写入类似字典的内容。下面是一些帮助您入门的示例代码:
csv 文件:
firstname Garrett
something_else blah
Python:
import csv
output = []
with open('csv.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=' ')
for row in reader:
output.append(tuple(row))
return {key: value for (key, value) in output}