![](/img/trans.png)
[英]How to modify a specific variables in another file and use it in other different file?
[英]How to modify variables in another python file?
windows 10 - python 3.5.2
嗨,我有以下兩個python文件,我想使用第一個python文件中的代碼編輯第二個文件的變量。
firstfile.py
from X.secondfile import *
def edit():
#editing second file's variables by user input
if Language == 'en-US':
print('language is English-us')
elif Language == 'en-UK':
print('language is English-uk')
secondfile.py
Language = 'en-US'
我可以通過以下代碼添加一些變量,但我怎么編輯一個?
with open("secondfile.py","a") as f:
f.write("Language = 'en-US'")
任何想法如何做到這一點?
您可以將Language
嵌入到具有更改方法的第二個文件的類中。
class Language:
def __init__(self):
self.language = 'en-US'
def __str__(self):
return self.language
def change(self, lang):
assert isinstance(lang, str)
self.language = lang
language = Language()
然后導入“語言”,並使用change方法更改它。
from module2 import language
print(language)
language.change("test")
print(language)
這可以在另一個文件中編輯變量:
import X.secondfile
X.secondfile.Language = 'en-UK'
但是,我有兩個建議:
不要使用import *
- 它會使用意外名稱污染名稱空間
如果它們不是常量,請不要使用這樣的全局變量。 有些代碼會在更改之前讀取值,之后會讀取一些值。 沒有人會期望它會改變。
所以,而不是這個,在另一個文件中創建一個類。
class LanguagePreferences(object):
def __init__(self, langcode):
self.langcode = langcode
language_preferences = LanguagePreferences('en-UK')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.