簡體   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