0
我有以下文件(X:\ somepath \ somefile):如何在python 3.x中讀取外部文件中的變量?
# This is a file containing default values
# It contains variables that users can change
val_1 = 123
val_2 = 456
print(val_1)
我如何獲得這些變量到Python腳本,看起來像這樣:
@session.defButton('button name') # 3rd party thing
def stuff():
file_name = 'X:\\somepath\\somefile'
exec(open(file_name, 'r').read()) # I used to use execfile(file_name) in 2.4
print(val_2)
它打印val_1但不是val_2。這是錯誤我得到
NameError: global name 'val_2' is not defined
我如何獲得它之外定義EXEC()函數,還是有更正確的方式來獲得外部文件的變量?我沒有得到全局/本地人在字典中需要的格式。
val_1獲得打印,但不是val_2。我試過\\和/,仍然沒有改變。 – user2987193
你能否澄清爲什麼print(val_1)在外部文件中並且print(val_2)在腳本中?嘗試將兩者都放在腳本文件中,看看會發生什麼。如果您在兩行上都出現錯誤,則意味着該文件沒有被抓取,或者抓取的文件沒有這些變量分配。您也可以嘗試打印出文件內容,看是否如預期的那樣使用'打開(文件名','r')讀取() – haraprasadj
哦...對不起,我應該更清楚,打印只是爲了用我的真實劇本顯示我遇到的問題的症狀。 真正的問題是變量不存在於exec調用之外。 – user2987193