2016-02-12 115 views
-1
scriptPath = os.path.abspath(__file__) 
scriptPath = os.path.dirname(scriptPath) 
ENG_RequestDataFile = scriptPath + "\ENG_RequestData.json" 
DEU_RequestDataFile = scriptPath + "\DEU_RequestData.json" 
LNG = ('ENG', 'DEU') 
def ENG_Request(): 
    try: 
     with open(ENG_RequestDataFile) as json_file: 
       #print json_file 
       JSON_ENGData = json.load(json_file) 
       print JSON_ENGData  
    except: 
     print ("[ERROR] Cannot open the ENG JSON file") 

def DEU_Request(): 
    try: 
     with open(DEU_RequestDataFile) as json_file:  
      JSON_DEUData = json.load(json_file) 
      print JSON_DEUData 

    except: 
     print ("[ERROR] Cannot open the DEU JSON file") 

if __name__ == "__main__": 

    if (LNG[0] == 'ENG'): 
     print LNG[0] 
     ENG_Request() 

    elif (LNG[1] == 'DEU'): 
     DEU_Request() 
    else: 
     print "NO More Languages" 

上面的代碼是開放的JSON文件,但在此之前,我比較兩種語言作爲ENG和申。如果是ENG,則調用上述的特定功能,如果是DEU,則調用其他特定功能。但是我無法調用主函數的特定函數。有人能告訴我什麼是錯誤嗎?如何在python中調用函數?

+1

你不叫他們。調用函數='ENG_Request()' – Obsidian

+0

對不起!我忘了在我的代碼中添加該代碼。但是我收到錯誤信息,打印出「沒有更多語言」。他並沒有叫任何功能 – sam

+0

您的代碼在我結束運行良好,總是調用'ENG_Request()'不知道你如何到達最後一else塊。 – Obsidian

回答

0

你應該使用()調用函數:

ENG_Request() 
+0

對不起!我忘了在我的代碼中添加該代碼。但是我收到錯誤信息,打印出「沒有更多語言」。 – sam

+0

你這樣做是不是調用任何函數'LNG =( 'ENG', '申')',然後'如果(LNG [0] == 'ENG'):打印LNG [0]'。鑑於此代碼,應始終如此。 –

+0

謝謝。現在它工作正常。但是,如果我得到了LNG作爲參數,然後,如果我想比較的是液化天然氣ENG然後調用一些功能,如果LNG是申然後調用一些其他功能 – sam