首先删除双引号,最后删除

时间:2014-09-29 12:03:48

标签: python

我尝试删除第一个和最后一个引用跟随字符串[1:-1]。但它无法正常工作! 这是我的代码:

def write_data_to_file(file_name, data):
    f = open(file_name,'wb')
    data_convert_str = dict()
    data_remove_quotes =dict()
    for index_line in range(1, number_lines +1)
       data_convert_str[index_line] = repr(data_line])
       data_remove_quotes[index_line] = data_convert_str[1:-1]
       json.dump(data_remove_quotes[index_line], f)
       f.write('\n')
    f.close()

我的数据是dict类型:{'a' : 0.001, 'b' : 0.002}在我的程序中生成。

结果是:'a' : 0.001, 'b' : 0.002

请为我解释。

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

你要做的似乎是把一个看起来像字典的字符串变成一个字典。

由于jonrsharpe提到的原因,删除引号不会起作用。现在,已经在Stack Overflow上探讨了将看起来像字典的字符串转换为字典的主题。与Here一样。

长话短说?使用:import ast导入抽象语法树模块(从2.6开始),然后导入ast.literal_eval(n),其中n是存储dict为字符串的变量,在本例中为"{'a' : 0.001, 'b' : 0.002}"。< / p>

我花了五秒钟搜索堆栈溢出来找到它。

编辑:我在2.7下用你的字符串测试它,然后它返回你正在寻找的字典。