2016-03-02 53 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)) 
相关问题