python学习笔记20(读取文件内容)
1.一次性读取文件全部内容(读取的文件milktea和main.py在同一目录的情况)
'''
读取与main.py同一目录的文件milktea.txt文件里面的内容
利用open()函数打开文件,返回的是一个表示文件的对象,将这个对象命名为file_object
下面这个代码是文件里面不包含汉字的情况,如果文件中包含汉字就会出现乱码
'''with open('milktea') as file_object:contents = file_object.read()if contents:print(contents)else:'''相比于原始文件,该输出唯一不同的地方就是末尾多了一个空行。之所以出现这个空行,是因为read()到达文件末尾时候返回一个空字符串,而将这个空字符串显示出来就是一个空行'''# 借助函数rstrip()将空行删除print(contents.rstrip())
不删除末尾空行的效果:
(2)文件里面包含汉字的情况:
数据之所以没有读出来,是因为python读取的数据和我们文本里面默认的文本编码方式不同,这时候就造成了数据没有被读取出来,但是文件里面有汉字是很平常的情况啊,我们怎么办?
with open('milktea', encoding='utf-8') as file_object:contents = file_object.read()print(contents)
print('好好生活啊~')
12345
56783
aaaa
bbbb
cdef
好好生活好好生活啊~
个人认为《python读写文本文件和二进制文件的方法以及注意事项》这篇文章中关于读写文本文件内容的注意事项非常详尽,上图就是截取自这篇博客,值得好好看一看。
(3)读取单行代码
with open('milktea', encoding='utf-8') as file_object:
# 读取一行代码contents = file_object.readline()
# 借助循环实现读取此文本内的所有行内容while contents:
# 借助readline()读取到的内容不仅仅包含文件一行里的内容,还有回车符print(contents.rstrip())contents = file_object.readline()print('小朋友,你已经看完了我的日记了~')
这是这段代码的效果图:
如果我不删除字符串末尾的空白:
关键字with在不需要访问文件之后将其关闭,这个关闭是python自身在合适的时候进行关闭。
特别注意:
这也就是说我们所创建的file.object只是局部变量,并不能作为全局变量使用,要想获得文件的内容,借助readline()函数将文件各行的内容存储在一个列表里面。
# 利用列表将读取到的内容可以在with引导的函数外使用
file_contents = []
with open('milktea', encoding='utf-8') as file_object:
# 读取一行代码contents = file_object.readline()
# 借助循环实现读取此文本内的所有行内容while contents:
# 借助readline()读取到的内容不仅仅包含文件一行里的内容,还有回车符file_contents.append(contents)contents = file_object.readline()print('小朋友,你已经看完了我的日记了~')
print(file_contents)
小朋友,你已经看完了我的日记了~
['今天风很大\n', '我穿的贼暖和\n', '哎呀妈呀\n', '五点了\n', '明天蹲实验室\n', '二岁\n', '好好生活\n']
通过列表存储的形式我们很容易看出来,在每读取完一行的内容之后,contents内容里面会包含一个回车符,如果想要跟原来文本文件的内容一模一样,就需要借助函数rstrip().
当然在我们传统的观念里面,打开文件用open()函数,那么关闭函数就可以借助close函数,这个是非常正确的思维,但是但是但是,如果在读取文件的代码中有一处出现了问题,那么没等执行到close()函数,程序就卡住了,这时候文件也并没有关闭,而文件没有关闭就很容易造成数据丢失,所以借用with来让python自己选择一个合适的时候自动关闭文件也是一种办法。
2.通过文件路径访问文件内容
相对路径格式:
with open('text_files\filename.txt', encoding='utf-8') as file_object:
而绝对路径是将文件的准确位置告诉python:
在F盘Python文件夹里面建立一个名为python的txt文件:
python学习笔记20(读取文件内容)相关推荐
- Python学习笔记D9(文件)
Python学习笔记D9(文件) 文件 1.打开文件 open(file, mode='r') 接收两个参数:文件名(file)和模式(mode),用于打开一个文件,并返回文件对象,如果该文件无法被打 ...
- Python学习笔记 1.0 基础内容篇章
Python学习笔记 1.0 基础内容篇章 注释 变量 一.定义变量 二.使用变量 bug和debug bug: Debug工具: 数据类型 认识数据类型 在定义数据类型时发生的错误: 数据类型的补表 ...
- python 四种逐行读取文件内容的方法
目录 方法一:readline函数 方法二:一次读取多行数据 方法三:直接for循环 方法四:使用fileinput模块 下面是四种Python逐行读取文件内容的方法, 并分析了各种方法的优缺点及应用 ...
- python学习笔记:读取xyz文件
在药学的Ai研发过程中,经常要制作清洗文件和处理各种文件格式.利用openBabel这样功能能够大大减轻转换过程的麻烦.然而偶然也需要应对一下场景下处理xyz文件抽取相关的坐标体系去计算小分子之间的作 ...
- 深度之眼 - Python学习笔记——第八章 文件、异常和模块
第八章 文件.异常和模块 实际应用中,我们绝大多数的数据都是通过文件的交互完成的 8.1 文件的读写 8.1.1 文件的打开 文件的打开通用格式 with open("文件路径", ...
- python学习笔记之操作文件,模块使用
文件操作: 基础操作: 创建/打开文件: #语法 file=open(filename,mode='r',buffering=-1,encoding=None,errors=None,newline= ...
- python 学习笔记(十二) 文件和序列化
python 文件读写和序列化学习. ## python文件读写 `1 打开并且读取文件` f = open('openfile.txt','r') print(f.read()) f.close() ...
- Python学习笔记九:文件I/O
打印到屏幕: 1 #!/usr/bin/python 2 3 print "Python is really a great language,", "isn't it? ...
- Python学习笔记三(文件操作、函数)
一.文件处理 1.文件打开模式 打开文本的模式,默认添加t,需根据写入或读取编码情况添加encoding参数. r 只读模式,默认模式,文件必须存在,不能存在则报异常. w 只写模式,若文件不存 ...
最新文章
- Android.mk文件语法规范及使用模板 (转载)
- iOS开发-获取设备型号信息
- Java用数组的包文件_在Java中获取包内的类文件数组
- 错误处理:RuntimeError: [enforce fail at ..\caffe2\serialize\inline_container.cc:145] . PytorchStreamRead
- [PY3]——内置数据结构(4)——字符串格式化(format)
- latex中插图心得
- 应用程序调试技术(更新程度:完毕)送源码及PPT
- Java运行原理研究(未完待续)
- mysql json 引号 双引号_关于JSON字符串key缺少双引号的解决方法 的讲解
- 利用子查询解决复杂sql问题
- WOL局域网与外网远程唤醒概要
- 从神话诗歌到奇幻科学的人类探索史·《月亮》·总篇(有配图)
- c语言编写好的程序运行自动退出,VS 2015 写的第一个c语言控制台程序,运行完程序就自动...
- 程序员需谨记的8条团队开发原则
- 火爆社区的开源数据可视化工具 datart 新用户体验教程
- Azure NSG(安全组)
- 转载-酷狗音乐API
- Matlab 矩阵论 矩阵分解的计算实现(六)矩阵的正交三角分解
- java向MySQL插入当前时间的几种方式
- html如何做交互效果,12个创新的网页界面交互和动画效果
热门文章
- 安装Windows和Ubuntu双系统 (Legacy + MBR)
- php商城伪静态,ECShop商城伪静态规则文件httpd.ini
- 网络在线校时服务器ip,网络校时服务器如何同步服务器时间?
- java 秒杀代码_Java秒杀系统实战系列~商品秒杀代码实战
- 红米note2 android版本是多少,红米Note2内存容量是多少?红米Note2运存ram是多少?...
- pycharm里面的搜索关联前面的符号意义以及执行用例如何同时打开2个浏览器不关闭
- ffmpeg 拼接视频
- 羡慕!因工作琐事太多,女子果断从体制内裸辞
- 为何Word 向表格里插入图片时显示不全呢?
- 全景封面视频生成技术在淘宝的应用