Python读取文本内容
文章目录
- 综述
- 1、打开文件
- 2、读取内容
- 3、关闭文件
Python读取文件时进行文本处理的前提,在进行读取文件之前,我们先创建一个文本文件作为源文件,例子中文件名为exercise1.txt,文件内容如下:
综述
在Python中,读文件主要分为三个步骤:打开文件、读取内容、关闭文件。一般形式如下:
try:file = open('/path/to/file', 'r') # 打开文件data = file.read() # 读取文件内容
finally:if file:file.close() # 确保文件被关闭
模板中的路径如果不是相当精确,但得放在和编程目录的同一个目录下,但如果精确,就可以在本机的任何一个位置,只要找到文件文职复制目录即可。但是上面的读文件做法很繁琐,我们可以使用Python的with语句来帮我们自动调用 close 方法:
with open('/path/to/file', 'r') as file:data = file.read()
本来可以用try ,finally来解决的问题,为什么要用with语句呢?因为两个原因:其一,python是一门简短精悍的语言,提倡简洁的编码风格。其二,with使用了上下文管理器,可以自动获取上下文相关内容,让开发者更专注于业务。
1、打开文件
打开文件时,我们看到上面模板中使用了Open函数,open() 函数用于打开一个文件,格式为:open(路径+文件名, 读写模式, 编码),创建一个 file 对象,相关的方法才可以调用它进行读写,里面的’r’指的是只读模式,不同的模式可以进行不同的操作:
模式 | 描述 |
---|---|
r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
- r(只读模式)
注意:Python中路径文件夹之间的间隔是用 / ,与以往的不同。
运行后,发现出现了错误,错误提示为:‘gbk’ codec can’t decode byte 0xae in position 4: illegal multibyte sequence。这个时候我们只需要在一开始就指定编码,通常使用encoding=‘UTF-8’,再次运行后如下:
try:file= open('D:/大学工作所做文档/学习资料/毕业设计学习准备/编程学习/exercise1.txt', 'r',encoding='UTF-8') # 打开文件data = file.read() # 读取文件内容print(data)
finally:if file:file.close() # 确保文件被关闭
运行结果:
- w(写入模式)
首先创建好一个名为guest.txt的文本文件,具体内容如下:
当我们使用写入模式时,原来的内容将会被删除:
name = input('请输入你的名字:')
print('欢迎你,'+name+'!')
file_path = 'D:/大学工作所做文档/学习资料/毕业设计学习准备/编程学习/guest.txt'
with open (file_path,'a',encoding='UTF-8') as file_object:file_object.write(name+'\n')
运行结果:
打开文本文件观察,之前的内容确实不在了:
- a(追加模式)
当我们采用追加模式打开文档时,也就是读写模式,并且写入内容接在文档内容后面:
2、读取内容
Python的文本文件的内容读取中,有三类方法:read()、readline()、readlines(),这三种方法各有利弊:
read()是最简单的一种方法,一次性读取文件的所有内容放在一个大字符串中,即存在内存中。利端:方便、简单;一次性独读出文件放在一个大字符串中,速度最快。弊端:文件过大的时候,占用内存会过大。例子如上。
readline()每次读取一行信息,结果是一个list。利端:占用内存小;逐行读取。弊端:由于是逐行读取,速度比较慢。继续使用一开始创建的exercise1.txt文件:
filepath = 'D:/大学工作所做文档/学习资料/毕业设计学习准备/编程学习/exercise1.txt'
with open (filepath, 'r',encoding='UTF-8') as file:contents = file.readline()print(contents)
运行结果:
另外一种使用for循环来实现逐行读取:
filepath = 'D:/大学工作所做文档/学习资料/毕业设计学习准备/编程学习/exercise1.txt'
with open (filepath, 'r',encoding='UTF-8') as file:for line in file:print(line.strip())
运行结果:
- readlines()一次性读取文本的所有内容,返回一个列表,列表每个元素代表一行。这种方法读取的文本内容,每行文本末尾都会带一个’\n’换行符。利端:一次性读取文本内容,速度比较快。弊端:随着文本的增大,占用内存会越来越多。
filepath = 'D:/大学工作所做文档/学习资料/毕业设计学习准备/编程学习/exercise1.txt'
with open (filepath, 'r',encoding='UTF-8') as file:contents = file.readlines()print(contents)
运行结果:
使用readlines()方法时,我们也可以把列表转换为原来的文本格式,方法便是使用for循环:
3、关闭文件
open() 函数用于打开一个文件,创建一个 File 对象,File对象的close()方法刷新缓冲区里任何还没写入的信息,并关闭该文件,这之后便不能再进行写入。当一个文件对象的引用被重新指定给另一个文件时,Python会关闭之前的文件。用close()方法关闭文件是一个很好的习惯。
Python读取文本内容相关推荐
- 如何用python读取文本中指定行的内容
如何用python读取文本中指定行的内容 搜索资料 我来答 分享 新浪微博 QQ空间 浏览 5284 次 查看全文 http://www.taodudu.cc/news/show-64036.ht ...
- python读出文件中的内容_Python读取文本内容
综述 在Python中,读文件主要分为三个步骤: 打开文件 . 读取内容 . 关闭文件 .一般形式如下: try: file = open('/path/to/file', 'r') # 打开文件 d ...
- Python 实现读取文本内容、文件重命名、替换文本内容
代码整体结构: 一.Python实现读取文本内容 # -*- coding: utf-8 -*- """ @date: 2022/01/11 18:40 @author: ...
- python 读取特定一段文本_python提取文本内容 python读取文本每行指定内容
用"python"怎么提取文件里的指定内容?原来这些年,他痊愈的只是外表,有一种伤,它深入骨髓,在人看不见的地方肆虐. python读取文件内容的方法: 一.最方便的方法是一次性读 ...
- python读文件一次读特定行_Python3实现从文件中读取指定行的方法 python读取文本内每行指定内容...
如何用python读取文本中指定行的内容在这个世界上说不出口的话太多了,你能不能陪小编去,你能不能留下来,你能不能帮帮小编,你对小编很重要,所以你可不可以不要走,到最后哽咽出口的却是,没关系,小编可以 ...
- python中读取文件内容-Python读取文件内容与存储
Python读取与存储文件内容 一..csv文件 读取: importpandas as pd souce_data= pd.read_csv(File_Path) 其中File_path是文件的路径 ...
- Python读取文本的三种方式对比
1.概述 Python有三种读取文本的方式,分别是: read() readline() readlines() 2.三种方式的优缺点分析 2.1 read() 最简单的一种方法,一次性读取文件的所有 ...
- python读取文件内容-Python读取文件内容与存储
Python读取与存储文件内容 一..csv文件 读取: importpandas as pd souce_data= pd.read_csv(File_Path) 其中File_path是文件的路径 ...
- python读取文本数据绘制曲线图
目录 写在前面 代码 reference 写在前面 1.本文内容 python读取文本数据曲线图 2.转载请注明出处: https://blog.csdn.net/qq_41102371/articl ...
- 一文教你学会python读取文本及字符串常用操作
python 读取txt文件 打开支付宝首页搜索'543701491',领取马云的支付宝红包 Python的文本处理是经常碰到的一个问题,Python的txt文件读取中,有三类方法:read().re ...
最新文章
- c++ 判断nil_golang A=nil,B=A,but B!=nil 这是真的
- Ansible之八:Playbook循环
- [Python学习]PycURL简单学习 - limodou的学习记录 - limodou是一个程序员,他关心的焦点是Python, DocBook, Open Source …...
- 如何控制让PO的数量不超过PR数量
- 笔记本应用/测试软件大全(个人使用心得)
- 【转】 嵌入式C语言编程中Inline函数的应用
- 【QQ输入法】QQ输入法-剪切板 释放内存
- Flex里Application和TitleWindow数据交互方法
- 外键 级联操作 mysql
- ByWater Solutions支持在图书馆中使用开源
- Anaconda下载安装
- Chrome安装Axure RP插件
- keil编程和c语言,C语言编程及keil软件使用.ppt
- java 加减乘除_Java实现加减乘除 | 学步园
- 慢内容广告:品牌增长的长线主义
- Hibernate检索策略
- ubuntu14.04扩展屏幕后,打开matlab就死机。求大神帮忙解决!!!万分感谢
- 解决 remote: Repository not found. fatal: repository 'https://github.com/xxxx/xxxx.git/
- 立秋至,暑难消,e安在线信息安全快讯
- 公关人员活用Koomail给客户群发邮件