Python学习笔记之文件的读写操作实例分析
作者:Johnny丶me 发布时间:2023-08-28 04:29:06
本文实例讲述了Python文件的读写操作。分享给大家供大家参考,具体如下:
读写文件
读取文件
f = open('my_path/my_file.txt', 'r') # open方法会返回文件对象
file_data = f.read() # 通过read方法获取数据
f.close() # 关闭该文件
首先使用内置函数
open
打开文件。需要文件路径字符串。open 函数会返回文件对象,它是一个 Python 对象,Python 通过该对象与文件本身交互。在此示例中,我们将此对象赋值给变量 f。你可以在
open
函数中指定可选参数。参数之一是打开文件时采用的模式。在此示例中,我们使用 r,即只读模式。这实际上是模式参数的默认值。使用
read
访问文件对象的内容。该read
方法会接受文件中包含的文本并放入字符串中。在此示例中,我们将该方法返回的字符串赋值给变量 file_data。当我们处理完文件后,使用
close
方法释放该文件占用的系统资源。
写入文件
f = open('my_path/my_file.txt', 'w')
f.write("Hello there!")
f.close()
以写入 (‘w') 模式打开文件。如果文件不存在,Python 将为你创建一个文件。如果以写入模式打开现有文件,该文件中之前包含的所有内容将被删除。如果你打算向现有文件添加内容,但是不删除其中的内容,可以使用附加 (‘a') 模式,而不是写入模式。
使用
write
方法向文件中添加文本。操作完毕后,关闭文件。
with
语法,该语法会在你使用完文件后自动关闭该文件
with open('my_path/my_file.txt', 'r') as f:
file_data = f.read()
该
with
关键字使你能够打开文件,对文件执行操作,并在缩进代码(在此示例中是读取文件)执行之后自动关闭文件。现在,我们不需要调用f.close()
了!只能在此缩进块中访问文件对象 f。
在之前的代码中,f.read()
调用没有传入参数。它自动变成从当前位置读取文件的所有剩余内容,即整个文件。如果向 .read()
传入整型参数,它将读取长度是这么多字符的内容,输出所有内容,并使 ‘window' 保持在该位置以准备继续读取。
with open(camelot.txt) as song:
print(song.read(2))
print(song.read(8))
print(song.read())
输出:
We
're the
knights of the round table
We dance whenever we're able
读取文件下一行的方法: f.readlines()
Python 将使用语法 for line in file
循环访问文件中的各行内容。 我可以使用该语法创建列表中的行列表。因为每行依然包含换行符,因此我使用 .strip()
删掉换行符。
camelot_lines = []
with open("camelot.txt") as f:
for line in f:
camelot_lines.append(line.strip())
print(camelot_lines) # ["We're the knights of the round table", "We dance whenever we're able"]
相关练习:你将创建一个演员名单,列出参演电视剧《巨蟒剧团之飞翔的马戏团》的演员。写一个叫做 create_cast_list 的函数,该函数会接受文件名作为输入,并返回演员姓名列表。 它将运行文件 flying_circus_cast.txt。文件的每行包含演员姓名、逗号,以及关于节目角色的一些(凌乱)信息。你只需提取姓名,并添加到列表中。你可以使用 .split()
方法处理每行。
解决方案:
def create_cast_list(filename):
cast_list = []
#use with to open the file filename
#use the for loop syntax to process each line
#and add the actor name to cast_list
with open(filename) as f:
# use the for loop syntax to process each line
# and add the actor name to cast_list
for line in f:
line_data = line.split(',')
cast_list.append(line_data[0])
return cast_list
cast_list = create_cast_list('./txts/flying_circus_cast.txt')
for actor in cast_list:
print(actor)
希望本文所述对大家Python程序设计有所帮助。
来源:https://blog.csdn.net/Tyro_java/article/details/80738900
猜你喜欢
- 慢SQL与索引的关系慢SQL优化原则数据库也是应用,MySQL 作为一种磁盘数据库,属于典型的 IO 密集型应用,并且随机 IO 比顺序 I
- 原则一:注意WHERE子句中的连接顺序: ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE
- 网页路径问题可以说是在页面设计或程序中比较典型的问题,处理得不好会给你的带来很大的麻烦,如何才能彻底解决路径问题呢!asp之家为你特别准备了
- 本文实例为大家分享了OpenCV+face++实现实时人脸识别解锁功能的具体代码,供大家参考,具体内容如下1.背景最近做一个小东西,需要登录
- 原理采用Python requests发起请求监测的URL,检测Http响应状态及是否超时,如果Http状态异常或响应超时,则通过聚合云推的
- 1、performance schema:介绍 在MySQL5.7中,performance schema有很大改进
- 本文研究的主要是Python使用pickle模块存储数据报错解决方法,以代码的形式展示,具体如下。首先来了解下pickle模块pickle提
- --程序员们在编写一个雇员报表,他们需要得到每个雇员当前及历史工资状态的信息, --以便生成报表。报表需要显示每个人的晋升日期和工资数目。
- 爬虫库使用简单的requests库,这是一个阻塞的库,速度比较慢。解析使用XPATH表达式总体采用类的形式多线程使用concurrent.f
- csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件,文件内容
- -- 建立测试表和数据create table webuser (username varchar(10));insert into web
- 前几天,看到有人写了个superLink的东东,主要的做什么用呢?我们有时会给在大块元素加个window.location='htt
- 前言很多时候我们要用到图片上传功能,如果图片一直用放在别的网站上,通过加载网址的方式来显示的话其实也挺麻烦的,我们通过使用 django-f
- Python自定义邻接表图类图抽象数据类型(ADT)的术语顶点(Vertex):也称节点(node),是图的基础部分。具有名称标识&
- 相关验证码文章:asp制作验证码的方法 轩魂ASP中文验证码下载 先产生一个4位数的随机码源代码:ychar="0,1,2,3,4
- 本文实例讲述了Python切片操作。分享给大家供大家参考,具体如下:我们基本上都知道Python的序列对象都是可以用索引号来引用的元素的,索
- 一、使用PyChram的正则首先,小编讲的不是爬取ip,而是讲了解PyCharm的正则,这里讲的正则不是Python的re模块哈!而是PyC
- 笔者今天就谈谈自己对这两种操作模式的理解,并且给出一些可行的建议,跟大家一起来提高Oracle数据库的安全性。 一、非归档模式的利与弊。 非
- 前言:交换机模式主要包括:交换机之发布订阅、交换机之关键字和交换机之通配符。1、交换机之发布订阅 发布订阅和简单的消息队列区别在于
- 拷贝副本复制一个二叉树副本,广度优先遍历同时设置两个队列,一个遍历一个复制创建。func Copy(bt *biTree) *biTree