鱼C论坛

 找回密码
 立即注册
查看: 1361|回复: 3

[已解决]replace 那里为什么会出错

[复制链接]
发表于 2020-12-28 23:56:34 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def replace_string(old, new):
    f1 = open(file_name, encoding = 'UTF-8')
    count = 0

    for each_line in f1:
        if old in each_line:
            count += 1

    print('文件%s中共有%s出【%s】\n' % (file_name, count, new))
    print('你确定要把所有的【%s】替换为【%s】' % (new, old))
    select = input('【YES/NO】:')
    if select == 'YES':
        f2 = open(file_name, 'w')
        f2.replace(old, new)
        f2.close()

    f1.close()

file_name = input('请输入文件名:')
old = input('请输入需要替换的单词或字符:')
new = input('请输入新的单词或字符:')
replace_string(old, new,)
最佳答案
2020-12-29 00:36:43
本帖最后由 jackz007 于 2020-12-29 02:58 编辑
  1. def replace_string(old , new):
  2.     f1 = open(file_name, encoding = 'UTF-8')
  3.     d = list(f1)                               # 把文件内容保存到列表 d 中,列表元素为文本行
  4.     f1 . close()
  5.     count = 0
  6.     for each_line in d:
  7.         b = each_line . find(old , 0)          # 调用字符串的方法搜索需要替换的字符串
  8.         while b != -1:
  9.             count += 1
  10.             b = each_line . find(old , b + 1)  # 调用字符串的方法搜索需要替换的字符串
  11.     if count:
  12.         print('文件 %s 中共有 %d 处【%s】\n' % (file_name, count, old))
  13.         print('你确定要把所有的【%s】替换为【%s】' % (new , old))
  14.         select = input('【YES/NO】:')
  15.         if select == 'YES':
  16.             f2 = open(file_name , 'w')
  17.             for s in d:
  18.                 t = s . replace(old , new)     # 调用字符串的方法替换字符串
  19.                 f2 . write(t)                  # 把替换过后的字符串写入文件
  20.             f2 . close()
  21.     else:
  22.         print('文件 %s 中没有找到【%s】' % (file_name , old))

  23. file_name = input('请输入文件名:')
  24. old = input('请输入需要替换的单词或字符:')
  25. new = input('请输入新的单词或字符:')
  26. replace_string(old , new)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-12-29 00:36:43 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-12-29 02:58 编辑
  1. def replace_string(old , new):
  2.     f1 = open(file_name, encoding = 'UTF-8')
  3.     d = list(f1)                               # 把文件内容保存到列表 d 中,列表元素为文本行
  4.     f1 . close()
  5.     count = 0
  6.     for each_line in d:
  7.         b = each_line . find(old , 0)          # 调用字符串的方法搜索需要替换的字符串
  8.         while b != -1:
  9.             count += 1
  10.             b = each_line . find(old , b + 1)  # 调用字符串的方法搜索需要替换的字符串
  11.     if count:
  12.         print('文件 %s 中共有 %d 处【%s】\n' % (file_name, count, old))
  13.         print('你确定要把所有的【%s】替换为【%s】' % (new , old))
  14.         select = input('【YES/NO】:')
  15.         if select == 'YES':
  16.             f2 = open(file_name , 'w')
  17.             for s in d:
  18.                 t = s . replace(old , new)     # 调用字符串的方法替换字符串
  19.                 f2 . write(t)                  # 把替换过后的字符串写入文件
  20.             f2 . close()
  21.     else:
  22.         print('文件 %s 中没有找到【%s】' % (file_name , old))

  23. file_name = input('请输入文件名:')
  24. old = input('请输入需要替换的单词或字符:')
  25. new = input('请输入新的单词或字符:')
  26. replace_string(old , new)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-29 08:45:45 | 显示全部楼层

  1. def replace_string(old, new):
  2.     f1 = open(file_name, encoding = 'UTF-8')
  3.     t = list(f1)
  4.     print(t)
  5.     count = 0

  6.     for s in t:
  7.         if old in s:
  8.             count += 1

  9.     print('文件%s中共有%s出【%s】\n' % (file_name, count, old))
  10.     print('你确定要把所有的【%s】替换为【%s】' % (new, old))
  11.     select = input('【YES/NO】:')
  12.     print(select == 'YES')
  13.     if select == 'YES':
  14.         f2 = open(file_name, 'w')
  15.         for s in t:
  16.             print("===========",s)
  17.             f2.write(s.replace(old,new))

  18.         f2.close()

  19.     f1.close()

  20. file_name = '123.txt'
  21. old = "123"
  22. new = "abc"
  23. replace_string(old, new,)
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-12-29 15:02:55 | 显示全部楼层
感谢大佬
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-28 19:56

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表