练习:实现文件中文字替换

def file_replace(filename,old_word,new_word):

    f_read=open(filename)
    count=0
    context=[]
    for eachLine in f_read:
        #print(eachLine)
        count+=eachLine.count(old_word)
        eachLine=eachLine.replace(old_word,new_word)
        context.append(eachLine)
    f_read.close()
    decide=input("共计%s处%s要替换成%s,替换吗?(yes or no)"%(count,old_word,new_word))

    print(decide.lower())

    if decide.lower()=="yes":
        f_write=open(filename,"w")
        f_write.writelines(context)
        f_write.close()    

filename=input("请输入文件名:")
old_word=input("请输入旧文字:")
new_word=input("请输入新文字:")
file_replace(filename , old_word , new_word)
时间: 2024-10-11 00:22:14

练习:实现文件中文字替换的相关文章

Linux查找和替换目录下所有文件中字符串(转载)

转自:http://rubyer.me/blog/1613/ 单个文件中查找替换很简单,就不说了.文件夹下所有文件中字符串的查找替换就要记忆了,最近部署几十台linux服务器,记录下总结. 查找文件夹下包含字符串的文件 例:查找/usr/local目录下所有包含”rubyer.me”的文件. grep -lr 'rubyer.me' /usr/local/* vim替换单个文件中所有字符串方法 例:替换当前文件中所有old为new :%s/old/new/g #%表示替换说有行,g表示替换一行中

替换文件中的文本

大小写区分替换: 对于替换后出现编码的: 尝试模式而非纯文本: 替换跨行文本: 1>没有捕获空白 2> 使用$1捕获空白 替换大文件中的文本: 一些补充: get-content命令将文件的内容分割成多行: 可以使用[System.Io.File]::ReadAllText()方法将整个文本作为字符串赋给变量 \s* //匹配0个或多个空格   (?s)  //代表单行模式   $1 //捕获的空白内容 大文件中的替换:比如几百兆的文件 前面几种会加重内存负担,此时因采用单行读入的方式进行操作

linux 批量替换所有文件中包含的字符串

sed -i "s/原来字符串/新字符串/g" `grep 原来字符串 -rl .` 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 转: linux下批量替换文件内容 1.网络上现成的资料 格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g&

linux sed 批量替换多个文件中的字符串

转载:http://blog.csdn.net/kauu/article/details/1757325 一.linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.bcak.com.cn为bcak.com.cn sed -i "s/www.bcak.com.cn/bcak.com.cn/g" `grep ww

linux sed 批量替换多个文件中的字符

格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换/home下所有文件中的www.admin99.net为admin99.net sed -i "s/www.admin99.net/admin99.net/g" `grep w

linux下使用vim替换文件中的^M换行符

在linux下打开windows编辑过的文本,会出现由于换行符不一致而导致的内容格式错乱的问题.最常见的就是出现^M . 我出现的问题是:在windows编辑过的文件,传到linux上后再用vim打开,内容没有换行.也就是所有文件内容都在一行.然后再实际换行的位置多了个^M. 下面的方法是网上搜的.其中dos2unix还有一个相对应的unix2dos 1.使用dos2unix命令.一般的分发版本中都带有这个小工具(如果没有可以根据下面的连接去下载),使用起来很方便: $ dos2unix myf

linux shell 脚本获取和替换文件中特定内容

1.从一串字符串中获取特定的信息 要求1:获取本机IP:menu.lst为系统镜象的IP配置文件,需要从中获取到本机IP信息(从文件获取信息) 1 timeout 1 2 default 0 3 4 title live 5 find --set-root /casper/vmlinuz 6 kernel /casper/vmlinuz boot=casper ignore_uuid showmounts ip=eth0,10.0.66.66,255.255.240.0,10.0.64.3 7

linux批量替换多个文件中的字符串

一.linux sed 批量替换多个文件中的字符串 sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir` 例如:替换当前目录下所有文件中的log.txt为test.log sed -i "s/log.txt/test.log/g" `grep log.txt -rl /home` 二.下面这条命令: find ./ -type f 此命令是显示当前目录下所有的文件 上面的"s|ABCD|

黑马程序员——IO——读取一个文件中的文字输出到控制台上

读取一个文件中的文字输出到控制台上 import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; //读取一个文件中的文字 ,输出到控制台上 //读取的是字符文字,因此可以使用字符流来操作 public class FileReaderDemos { public static void main(String[] args) { // TODO Auto-generate