yixiyixi28 发表于 2020-10-18 17:10:13

txt文件修改某一行内容的方法

txt文件内容如图所示:
我想把70变成50,
要求:不用替换的方法,直接设置数值为50
请问代码应该如何写呢?

之前的替换方法
def updateFile(file,old_str,new_str,mark_str):
    """
    替换文件中的字符串
    :param file:文件名
    :param mark_str:标志性字符串
    :param old_str:旧字符串
    :param new_str:新字符串
    :return:
    """
    file_data = ""
    with open(file, "r", encoding="utf-8") as f:
      for line in f:
            if mark_str in line:
                line = line.replace(old_str,new_str)
            file_data += line
    with open(file,"w",encoding="utf-8") as f:
      f.write(file_data)

file = r'C:\Users\Administrator\Desktop\pyswmm\good.txt'      
mark_str = 'MacroDWF'
old_str = '70'
new_str = '50'

updateFile(file, old_str,new_str,mark_str)

疾风怪盗 发表于 2020-10-18 17:29:45

切割成列表,循环遍历每个元素,判断是70就重新赋值为50,这样应该可以吧?

陈尚涵 发表于 2020-10-18 17:31:42

疾风怪盗 发表于 2020-10-18 17:29
切割成列表,循环遍历每个元素,判断是70就重新赋值为50,这样应该可以吧?

这样可以。但是得两个连个字符的看,不然更麻烦
页: [1]
查看完整版本: txt文件修改某一行内容的方法