鱼C论坛

 找回密码
 立即注册
查看: 1279|回复: 6

替换文件里面

[复制链接]
发表于 2018-2-18 01:19:30 | 显示全部楼层 |阅读模式

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

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

x
替换文件里面某个字或词的话,能正常替换,但是就是显示被替换的字或词里面每次都显示一个,当我把记事本里面的字全部写成一排的时候就可以正常显示被替换的字有多少个,但是像这篇诗这种有跨行的话就显示只有一个,不知道是不是记事本有问题?求指教!
I$ASA_CY$%5T$WW}YL_V0WV.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-2-18 10:24:38 | 显示全部楼层
我提点建议,变量命名尽量不要用一个字母,除了循环常见的i、j、k
你的变量名最好能反映出这个变量是什么,要不看得别人很累,或者过两周你自己看都很累
跨行只显示一个的原因是你每次循环都重新赋值变量c
  1. for b in a:
  2.     c = b.count(old)
复制代码

你需要累计下去,比方说
  1. c += b.count(old)
复制代码

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-18 15:18:53 | 显示全部楼层
  1. def f(name,old,new):
  2.     r_file = open(name,'r')
  3.     seq = []
  4.     count = 0#次数统计
  5.     for line in r_file:#一行行的读
  6.         count += line.count(old)#
  7.         line = line.replace(old,new)#在一行之中进行替换
  8.         seq.append(line)#序列
  9.     mark = input('文件%s里面共有%s个%s,你是否愿意替换成%s,请输入y或n:' %(name,count,old,new))
  10.     if mark == 'y' :
  11.         w_file = open(name,'w')
  12.         w_file.writelines(seq)
  13.         w_file.close()
  14.     elif mark == 'n':
  15.         print('文件内容未做改动')
  16.     r_file.close()
  17. name = input('请输入需要替换的字或词的文件名:')
  18. old = input('需要替换的字或词:')
  19. new = input('新的字或词:')
  20. f(name,old,new)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-18 19:53:06 | 显示全部楼层
solomonxian 发表于 2018-2-18 10:24
我提点建议,变量命名尽量不要用一个字母,除了循环常见的i、j、k
你的变量名最好能反映出这个 ...

用你改的直接报错,因为这样的话c没定义
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-18 19:57:45 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-2-18 20:46:40 | 显示全部楼层
fan1993423 发表于 2018-2-18 19:53
用你改的直接报错,因为这样的话c没定义

大哥你这。。。
就差把饭直接送到嘴边了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-2-18 20:51:13 | 显示全部楼层
solomonxian 发表于 2018-2-18 20:46
大哥你这。。。
就差把饭直接送到嘴边了

好吧,后来懂了,初学者,望理解
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-28 01:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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