1

因此,我试图从不同目录中的文件中获取大量变量,而无需复制和粘贴,因为这很便宜,并且需要编辑使用该组变量的所有文件。

D:/Tiller OS/garden/memId.py

mem11 = "D:/Tiller OS/memory/mem1/mem1-1.mem"
mem12 = "D:/Tiller OS/memory/mem1/mem1-2.mem"
mem13 = "D:/Tiller OS/memory/mem1/mem1-3.mem"
mem21 = "D:/Tiller OS/memory/mem2/mem2-1.mem"
mem22 = "D:/Tiller OS/memory/mem2/mem2-2.mem"
mem23 = "D:/Tiller OS/memory/mem2/mem2-3.mem"
mem31 = "D:/Tiller OS/memory/mem3/mem3-1.mem"
mem32 = "D:/Tiller OS/memory/mem3/mem3-2.mem"
mem33 = "D:/Tiller OS/memory/mem3/mem3-3.mem"
memro1 = "D:/Tiller OS/memory/romem/memro-1.mem"
memro2 = "D:/Tiller OS/memory/romem/memro-2.mem"
memro3 = "D:/Tiller OS/memory/romem/memro-3.mem"

如何将所有这些信息放入文件中D:/Tiller OS/programs/prog.py

4

1 回答 1

2

如果D:/Tiller OS/garden/在你的路径上,你可以做from memId import mem11,等等。在 Python 中导入时,无论是函数、类还是其他对象都没有关系。

但是,如果只memId.py包含这些变量的列表,我同意@melpomene 的观点,您最好使用不同的格式来存储这些变量。例如,您可以使用TOML文件。您上面的格式已经是有效的 TOML,所以您只需将其重命名为memId.toml,然后prog.py您可以执行类似的操作

import toml
mem_path = "D:/Tiller OS/garden/memId.toml"
mems = toml.load(mem_path)

mems然后将是一本字典,您可以mem11mems["mem11"]其他人一样访问。toml不在标准库中,所以pip install toml如果你没有它,你将需要它。如果您不想要,您可以只使用 JSON 文件;json在标准库中。但是,我认为 TOML 比 JSON 更好,并且 JSON 需要更改文件的格式。

于 2019-03-02T03:00:06.823 回答