Python文件操作小练习之写替换文件里的个别字符(保存到新文件/当前文件)
2016-10-24 21:18
323 查看
题目:1.把a.txt文件里的hello 字符串换成cctv
2.并把更换后的文件保存到a3.txt
注意点:1.文件的打开模式的区别,如‘r+’'w+''a+'等
2.替换可以用re模块中的sub()函数
我写的代码有点冗余。用了re模块里的findall()函数和sub()函数。
结果如下:
写法二:
利用file类的方式直接打开,读写。
利用了replace()函数。
写法更加简洁。
总结一下几种不同模式的区别:
r 只读(默认)
r+ 读写
w 写入 先删除原文件,再重新创建,如果文件不存在则创建
w+ 读写 先删除原文件,再重新创建,如果文件不存在则创建,可以写入输出
a 写入 在文件末尾追加新的内容,文件不存在,则创建
a+ 读写 在文件末尾追加新的内容,文件不存在,则创建
b 打开二进制的文件,可与r,w,a,结合使用
u 支持所有换行符号 \r\n
题目升级:将文本进行替换,但是不是保存到新的文件,而是保存到当前文件。
分析:保存到当前文件,对于文件的打开模式更为讲究。要先以只读模式打开后,对文件每一行进行readlines()操作,并保存到新的列表中。然后随之关闭。
再以'w+'方式进行读写打开,对已经保存的列表用re.sub()进行替换操作,并用f.writelines()函数写入。
import re
f=open('/home/rmbstack/a.txt','r')
alllines=f.readlines()
f.close()
f=open('/home/rmbstack/a.txt','w+')
for eachline in alllines:
a=re.sub('hello','cctv',eachline)
f.writelines(a)
f.close()
2.并把更换后的文件保存到a3.txt
注意点:1.文件的打开模式的区别,如‘r+’'w+''a+'等
2.替换可以用re模块中的sub()函数
我写的代码有点冗余。用了re模块里的findall()函数和sub()函数。
结果如下:
写法二:
利用file类的方式直接打开,读写。
利用了replace()函数。
写法更加简洁。
总结一下几种不同模式的区别:
r 只读(默认)
r+ 读写
w 写入 先删除原文件,再重新创建,如果文件不存在则创建
w+ 读写 先删除原文件,再重新创建,如果文件不存在则创建,可以写入输出
a 写入 在文件末尾追加新的内容,文件不存在,则创建
a+ 读写 在文件末尾追加新的内容,文件不存在,则创建
b 打开二进制的文件,可与r,w,a,结合使用
u 支持所有换行符号 \r\n
题目升级:将文本进行替换,但是不是保存到新的文件,而是保存到当前文件。
分析:保存到当前文件,对于文件的打开模式更为讲究。要先以只读模式打开后,对文件每一行进行readlines()操作,并保存到新的列表中。然后随之关闭。
再以'w+'方式进行读写打开,对已经保存的列表用re.sub()进行替换操作,并用f.writelines()函数写入。
import re
f=open('/home/rmbstack/a.txt','r')
alllines=f.readlines()
f.close()
f=open('/home/rmbstack/a.txt','w+')
for eachline in alllines:
a=re.sub('hello','cctv',eachline)
f.writelines(a)
f.close()
相关文章推荐
- python-文件操作seek(单个字符替换)
- python读配置文件;正则表达式替换、切割字符串;获取当前时间
- python 打开sqlite3内存数据库,操作完毕将数据保存到文件数据库
- Python实现的两个文件操作:当前目录下所有文件和转码
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失.
- Java:简单的文件操作,将用字符表示的16进制数转为对应的2进制内容保存到新文件中
- Python 读取键盘输入字符,多线程操作,文件操作随机处理 开发范例
- ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符
- 此文件的某些Unicode字符未能保存到当前代码页中,是否以Unicode编码重新保存此文件,以便维护您的数据
- 如何编写Python脚本替换文件中的多行字符?
- 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- 【python 练习】替换文件内容
- FileUpLoad文件上传练习(保存文件到文件夹,地址是当前页面的同一级目录下的file文件夹中)
- ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符
- 【转】如何编写Python脚本替换文件中的多行字符
- 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
- 批处理文件操作:替换文本文件某系字符写入新文件、遍历目录并进行字符串替换、拷贝文件到新目录、去掉文件扩展名
- Perl 字符替换操作-用于两个文件的合并
- 需求驱动学习之Python(如何编写Python脚本替换文件中的多行字符?)
- warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失