2016-03-02 62 views
1

返回字典我有Python函數應該返回文辭:的Python 3從功能的情況下

def load_cred(FILE): 
    key_for_enc = getpass(prompt='Key for encrypted credentials file: ', stream=None) 
    cipher = AESCipher(key_for_enc) 
    crd_dict={} 
    with open(FILE, 'r') as fh: 
     for line in fh: 
      dec_line = cipher.decrypt(line) 
      # print("line: {}".format(dec_line)) 
      dec_line.strip() 
      start_string, user, password = dec_line.split(10*'|') 
      crd_dict[start_string] = (user, password) 
      #print("1: {} 2: {} 3: {}".format(start_string,user,password)) 
    print("crd diction: {}".format(crd_dict))   
    return crd_dict 

,但是當我把它從其他腳本那樣:

 Data_cred = load_cred(CRED_FILE) 
     print ("Data type: {}".format(type(Data_cred))) 
     print("Data: ".format(Data_cred)) 

返回的字典不要」 t顯示爲返回值...有人能幫助我嗎?請注意,在函數load_cred中,crd_dict有它的項目,但在它之外沒有。我仍然不明白爲什麼..

Key for encrypted credentials file: 
crd diction: {'first_line': ('User1', 'Pass1')} 
Data type: <class 'dict'> 
Data len: 
Data: 

回答

0

函數load_cred()正在返回字典。打印時,您忘記在最後一行中添加替換字段。 -

print("Data: {}".format(Data_cred)) 
相關問題