繁体   English   中英

如何从不同目录中的其他文件中获取变量到python文件中

[英]How do I get variables from a different file in a different directory into a python file

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

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

如果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将成为字典,您可以将mem11作为mems["mem11"]来访问,其他类似。 toml不在标准库中,因此如果没有pip install toml则需要pip install toml 如果您不想这样做,可以只使用JSON文件。 json在标准库中。 但是,我认为TOML比JSON更好,并且JSON需要更改文件的格式。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM