【问题标题】:replace all occurrences of words present in a text file with a dictionary key value pair python?用字典键值对python替换文本文件中出现的所有单词?
【发布时间】:2016-01-22 17:06:02
【问题描述】:

我必须替换 txt 文件中的几个单词。 我有一个构造的字典,文件中出现的所有键都应该用它的值替换。

f1 = open('testlist01.txt', 'r')
f2 = open('new_testlist.txt', 'w')
for line1 in f1:
    for key1,value1 in new_class_names.iteritems():
        str(line1).replace(key1, str(value1))
    f2.write(line1)
    print line1
f1.close()
f2.close()

f1 包含

Archery/v_Archery_g09_c06.avi 3
BandMarching/v_BandMarching_g10_c06.avi 6
BasketballDunk/v_BasketballDunk_g19_c01.avi 9

f2 应该改为

5/10 3
20/954 6
62/548 9

new_class_names 是一个字典,例如:-

{'Archery':5, 'BandMarching':20, 'BasketballDunk':62, 'v_Archery_g09_c06.avi':10 , 
'v_BandMarching_g10_c06.avi':954, 'v_BasketballDunk_g19_c01.avi':548}

我试过的代码没有替代它。

【问题讨论】:

    标签: python string file dictionary replace


    【解决方案1】:

    python 中的字符串是不可变的。 str(line1).replace(key1, str(value1)) 创建丢失的新字符串实例。将结果分配给line1,它就会完成这项工作。

    str(line1).replace(key1, str(value1)) 应该变成line1 = line1.replace(key1, str(value1))

    【讨论】:

    • 谢谢 :) 做到了。
    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 2015-07-12
    • 2017-12-28
    • 2020-10-17
    • 2020-12-20
    • 1970-01-01
    • 2020-09-09
    • 2017-07-24
    相关资源
    最近更新 更多