我從一個文件製作了一本字典,並且需要將其寫入另一個文件,我將對其進行編輯。爲此,我從第一個文件創建了一個字典,並將其製作成字符串,以便將其寫入第二個文件。有沒有辦法將這個字符串轉換回字典?從詞典字符串中製作字典
的第一個文件的一個例子是:
123 2
125 5
128 3
我製作成一本字典,並進入第二個文件的字符串:
def CreateNew(prefix, old_file):
new_file = open('new_file_name', 'w')
new_file.write(str(old_file))
new_file.close()
return new_file
現在,我需要做編輯這個新文件中的一些值,但不知道如何將這個字典字符串轉換回字典。我想只是打印這個功能來測試它:
def EmpTrans(transactions_file, new_file):
print(dict(new_file))
但是這給了我一個空的字典{}
。
我正在嘗試不爲此使用任何模塊。我能夠使用eval()。
的各種庫和模塊是一個Python最大的優勢。然後你可以做'import ast',然後'my_dict = ast.literal_eval(my_dictionary_string)'和'my_dict'將是'dict'類型。 – TigerhawkT3
[將字符串轉換爲字典?]的可能的重複(http://stackoverflow.com/questions/988228/converting-a-string-to-dictionary) – Celeo
添加不使用任何模塊的要求幾乎保證答案是引入可能的安全問題或不填寫所有要求。正如在推薦的重複問題的答案中所述,正確的方法是使用'ast'模塊的'ast.literal_eval()'。 – TigerhawkT3