我从一个文件制作了一本字典,并且需要将其写入另一个文件,我将对其进行编辑。为此,我从第一个文件创建了一个字典,并将其制作成字符串,以便将其写入第二个文件。有没有办法将这个字符串转换回字典?从词典字符串中制作字典
的第一个文件的一个例子是:
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