Python 3 从函数案例返回字典



我有 python 函数应该返回字典:

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))
返回

的字典不会显示为返回值...有人可以帮助我吗?请注意,在函数 load_cred 中,crd_dict有它的项。但在外面没有。我仍然不明白为什么..

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

函数load_cred()返回字典。您只是在打印时忘记在最后一行添加替换字段。-

print("Data: {}".format(Data_cred))

最新更新