===============================================================================
通过read()函数读取文件内容时会将文件中所有的内容全部读取出来。。
file_name = ‘demo.txt’
file_obj = open(file_name) # 打开的文件对象
content = file_obj.read()
输出结果如下:
demo.txt文档被打印出了。
如要查看read()函数说明的文本字符串:
help(file_obj.read) # 可以以这样的形式来查看read()函数的用法详情
结果如下:
如果demo.txt文本文件中有中文,(比如现在我们在其中再写入一行“云雀叫了一整天”七个字。)
再运行上述代码则会报错:
我们需要在open()函数中加入参数encoding=‘utf-8’,才可读取。
- (基础补充:Unicode及万国码 包含世界上所有语言和字符,编写程序一般都会使用Unicode编码。Unicode编码有多种实现: UTF-8 UTF-16 UTF-32。其中UTF-8支持的字符是最多的。UTF-16少一半,UTF-32又少一半。支持字符越多适用范围越广,支持字符越少越简洁高效。我们一般使用utf-8较多)
file_name = ‘demo.txt’
file_obj = open(file_name, encoding=‘utf-8’) # 打开的文件对象
content = file_obj.read()
结果正常打印出了:
2.3 较大文件的读取 readline()与readlines()
read()可以接收一个size作为参数,改参数用来指定读取字符的数量,默认为-1,表示读取全部内容。
file_name = ‘demo.txt’
file_obj = open(file_name, encoding=‘utf-8’) # 打开的文件对象
content = file_obj.read(25) # 读取25个字符
print(content)
结果:
如果读取的文件比较大的话,会一次性地讲文件加载到内容中。容易导致内存泄露。所有对于较大的文件通常不用read()函数读取。
readline()用于一行一行地读取,
readlines()用于一行一行地读取,一次性将读取到的内容封装到一个列表中返回。
file_name = ‘demo.txt’
try:
with open(file_name, encoding=‘utf-8’) as f: # 对于我们打开的这个文件对象取名为f
content = f.read(4) # 给size传递参数,一次读取多少个字节
content = f.readline() # 一行一行的读取,不再示例。
content = f.readlines() # 也是一行一行的读取,不过会读取完所有,并且存放到列表中
print(content)
except FileNotFoundError:
print(‘文件名没有找到’)
输出结果:
===============================================================================
-
调用close()方法来关闭文件
-
with … as …语句自带关闭,不需要写close()。
示例如下:
file_name = ‘demo.txt’
file_obj = open(file_name, encoding=‘utf-8’) # 打开的文件对象
content = file_obj.read() # 文件读取
print(content)
file_obj.close() # 关闭文件之后就不能再继续读取了
con = file_obj.read() # 文件读取
print(con)
===============================================================================
write()用来向文件中写入内容
-
该方法可以分多次向文件中写入内容
-
写入完成后该方法会返回写入字符的个数
使用open()函数打开问件的时候,必须指定打开文件要做的操作(读,写,追加)。默认为只读。
具体如下:
常用的有
-
只读:r,也是默认的。
-
w可写,是覆盖写入,会清除原有的内容。如果文件不存在则会创建一个文件。
-
a 追加写入,即在原文本后边append新内容,不覆盖。
代码示例:
file_name = ‘demo.txt’
file_obj = open(file_name, encoding=‘utf-8’)
content = file_obj.read()
print(content) # 输出原文本
file_obj.close()
try:
with open(file_name, ‘a’, encoding=‘utf-8’) as f: # 对于我们打开的这个文件对象取名为f
f.write(‘\n1433223’) #换行写入,其中\n表示换行
except FileNotFoundError:
print(‘文件名没有找到’)
file_obj = open(file_name, encoding=‘utf-8’)
content = file_obj.read()
print(content) # 输出追加写入后的文本
file_obj.close()
运行结果:
====================================================================================
文末有福利领取哦~
👉一、Python所有方向的学习路线
Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
👉二、Python必备开发工具
👉三、Python视频合集
观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
👉 四、实战案例
光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。(文末领读者福利)
👉五、Python练习题
检查学习结果。
👉六、面试资料
我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
👉因篇幅有限,仅展示部分资料,这份完整版的Python全套学习资料已经上传
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!