一、读文件

#打开文件,传入文件名和标识符,r代表读
f= open('\\Users\ZC\Desktop\zc.txt','r')
#调用read方法一次性读取文件的全部内容,存入内存,用str对象表示
print(f.read())
f.close() #使用with无论程序是否对错都会最后默认关闭文件。
with open('\\Users\ZC\Desktop\zc.txt','r') as f:
print(f.read()) #使用read()会一次性读取文件的所有内容,如果文件过大,内存会爆掉。可以反复调用read(size)方法,每次最多读取size个字节的内容。
#调用readline()可以每次读取一行内容,调用readlines()一次读取所有内容并按行返回list。
f= open('\\Users\ZC\Desktop\zc.txt','r')
for line in f.readlines():
print(line.strip()) #图片、视频等二进制文件,用rb模式打开
f= open('\\Users\ZC\Pictures\Camera Roll\8.jpg','rb')
print(f.read()) #读取非UTF-8编码的文本文件,需要在open()函数中传入encoding参数,errors参数表示遇到编码错误如何处理。
f = open('\\Users\ZC\Desktop\gbk.txt', 'r', encoding='gbk',errors='ignore')
print(f.read())

二、写文件

  为了防止自己忘记写close(),一般使用with语句,默认自动关闭文件。

#调用open()函数传入标识符,w代表写入(wb写入二进制文件),如果文件不存在会自动创建。
f= open('\\Users\ZC\Desktop\zc.txt','w')
f.write('遇事不决,可问春风 \n')
f.close()
f=open('\\Users\ZC\Desktop\zc.txt','r')
print(f.read()) #w模式写入文件,会直接覆盖(即相当于删除后重建),如果想追加,可使用a(append)模式。
f= open('\\Users\ZC\Desktop\zc.txt','a')

操作系统在写入文件时,一般不会马上写到磁盘,而是放在内存中缓存,空闲时在写入。调用close(),就是让操作系统马上写入到磁盘中。

所以上面的代码在写入内容之后,在重新打开,才能调用read()查看文件的内容,否则会报错。

关于open()函数标识符的几个参数:

'r':读

'w':写

'a':追加

'r+' == r+w(可读可写,文件若不存在就报错(IOError))

'w+' == w+r(可读可写,文件若不存在就创建)

'a+' == a+r(可追加可写,文件若不存在就创建)

如果是对应的二进制文件,都加上一个b即可。

三、敏感词过滤器

#创建文件,写入内容
def text_create(name,msg):
desktop_path = 'C://Users/ZC/Desktop/'
full_path = desktop_path + name + '.txt'
file = open(full_path,'w')
file.write(msg)
file.close() #敏感词为SB,替换成***
def text_filter(word,cencored_word = 'SB',changed_word = '***'):
return word.replace(cencored_word,changed_word) #msg经过text_filter过滤之后存入到clean_msg,然后调用text_create写入。
def text_censored_create(name,msg):
clean_msg = text_filter(msg)
text_create(name,clean_msg)
text_censored_create('test','你是个SB')

Python学习笔记系列——读写文件以及敏感词过滤器的实现的更多相关文章

  1. Python学习笔记之从文件中读取数据

    10-1 Python 学习笔记:在文本编辑器中新建一个文件,写几句话来总结一下你至此学到的Python 知识,其中每一行都以“In Python you can”打头.将这个文件命名为learnin ...

  2. python学习笔记系列----(一)python简介

    一个月前,就按下决心要系统的学习下python了,虽然之前有学习过java,学习过c++,也能较为熟练的使用java做自动化测试看懂c++里的业务逻辑,但是实际上有那么多的东西自己还是不清楚,今天下定 ...

  3. Python学习笔记系列

    1.小甲鱼 python 学习系列笔记

  4. python学习笔记系列----(八)python常用的标准库

    终于学到了python手册的最后一部分:常用标准库.这部分内容主要就是介绍了一些基础的常用的基础库,可以大概了解下,在以后真正使用的时候也能想起来再拿出来用. 8.1 操作系统接口模块:OS OS模块 ...

  5. python学习笔记系列----(五)输入和输出

    这一章主要是讲述程序展示其数据的一些方法,一般都是直接按照一定的格式输出在屏幕,或者写入到文件以便以后使用.按照一定格式的输出,在python中实际就是对str的操作,主要就是介绍了formart() ...

  6. Python学习笔记六:文件处理

    一:打开文件 open(name,mode,[bufferSize]) name:文件路径 mode:文件打开方式 二:文件读取 read()方法:可以一次读取文件的全部内容,Python把内容读到内 ...

  7. python学习笔记系列----(四)模块

    这一章主要是叙述了python模块的概念以及包的概念,还有它们的使用:收获也是大大的. 提起python文件,经常会听到3个名词,python脚本,python模块,python包.脚本的概念是从py ...

  8. python 学习笔记(十二) 文件和序列化

    python 文件读写和序列化学习.## python文件读写`1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ` ...

  9. python学习笔记系列----(二)控制流

    实际开始看这一章节的时候,觉得都不想看了,因为每种语言都会有控制流,感觉好像我不看就会了似的.快速预览的时候,发现了原来还包含了对函数定义的一些描述,重点讲了3种函数形参的定义方法,章节的最后讲述了P ...

随机推荐

  1. Web前端的状态管理

    背景 我相信很多朋友跟我一样,初次听到什么 Flux ,  Redux ,  Vuex , 状态管理 的时候是一脸懵逼的.因为在外面之前前端大部分开发的时候,根本没有那么多的概念.自从ReactJS火 ...

  2. 网件路由器wps无法设置

    问题:网件路由器WPS设置项全为灰色,无没设置 原因:因为设置WIFI时,将ssid广播隐藏了,导致WPS功能失效,所以WPS设置项为灰色.要想设置WPS,将SSID广播恢复即可

  3. web百度地图离线开发

    公司现在做的一个项目本来用的是google离线地图,但是发现谷歌的地图数据很久没更新数据了,中国的城市发展这么快,好多地方地图和现实都对不上了. 发现百度地图数据更新挺快的(呵呵,毕竟是国产的吗),最 ...

  4. AE中IHookHelper的用法 来自http://blog.sina.com.cn/s/blog_6faf711d0100xs1x.html

    IHookHelper 主要在用在自定义类型于AE带的的ICommand或ITool等, 1.实例化IHookHelper 对象: IHookHelper m_hookHelper = new Hoo ...

  5. 带你从零学ReactNative开发跨平台App开发(十)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  6. 关于removeChild

    var a=document.body; document.body.parentNode.removeChild(a) console.log(a); a的内容还是body???whY

  7. CCSUOJ评测系统——第四次scrum冲刺

    1.小组成员 舒 溢 许嘉荣 唐 浩 黄欣欣 廖帅元 刘洋江 薛思汝 2.最终成果及其代码仓库链接 CCSU评测系统 代码仓库 3.评测系统功能 用户注册 用户可选题目进行提交 用户做题结果 排名功能 ...

  8. 创建和修改 ExpressRoute 线路的对等互连

    本文将指导你执行相关步骤,以便使用 Azure 门户和 Resource Manager 部署模型创建和管理 ExpressRoute 线路的路由配置. 配置先决条件 在开始配置之前,请务必查看先决条 ...

  9. C#下使用XmlDocument详解

    XML在开发中作为文件存储格式.数据交换的协议用的非常普遍,各个编程语言有都支持.W3C也制定了XML DOM的标准.在这里主要介绍下.Net中的XmlDocument,包括xml读取和写入等功能.一 ...

  10. UITableVIew与UICollectionView带动画删除cell时崩溃的处理

    UITableVIew与UICollectionView带动画删除cell时崩溃的处理 -会崩溃的原因是因为没有处理好数据源与cell之间的协调关系- 效果: tableView的源码: ModelC ...