用Python读写文件的方法

70 篇文章 8 订阅
订阅专栏

在文中,我们将研习如何用Python读取文件,然后,向文件写入内容并再次保存它。使用Python读写某种特别类型的文件,例如:JSON、CSV、Excel等,一般会有专门的模块。但是,在这里,我们将用Python打开文本文件(.txt)。

若使用Python的open函数,它将返回一个文件对象,此对象将包含一些方法和属性。我们可以使用这些方法和属性获得已打开文件的相关信息,并且,可以使用这些方法来更改所打开的文件。

open()读取文件

在本节中,我们将学习如何使用open()函数在Python中加载文件,最简单的例子是打开一个文件并创建一个文件对象。

当使用Python的open()函数打开一个文件时,有若干个参数可用。然而,最常用的参数只有前两个。注意,第一个是强制性的,其余的是可选的。如果不添加mode参数,文件将在Python中以只读模式打开。

open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)

mode参数

读取文件有不同模式。如前所述,如果不带有mode参数,文件就会以只读方式打开,如下所示,列出了常用的几种打开模式。

其中,mode='r'表示制度;mode='w'表示只写;mode='a'表示追加。mode='r+'表示可读写,但是文件必须存在,否则报错。

一个简单的示例

在下面的代码示例中使用open()代开一个文件,此处假设文件与Python脚本在同一个目录中,否则要增加路径。

exfile = open('example_file')
print(exfile)

在上图中,很明显我们有一个以只读模式打开的文件对象,在open()中除了文件名之外没有任何其他参数。因此,无法向该文件写入任何内容。如果要打印文件名,只需键入print(exfile.name)

创建文本文件并写入内容

下面使用open()创建一个新文件。现在,要使用mode='w'参数,这样能够打开一个文件对象,并可以使用“文件对象写入”方法。

exfile = open('example_file2', 'w')
print(exfile)

在上图中,可以当前文件对象是写入模式(’ w '),在下面的代码块中,我们将向这个文件中添加一行文本:

exfile.write('This is example file 2 \n')

当然,也可以添加更多的行:

exfile.write('Line number 2, in example file 2')
exfile.close()

注意,在最后一行务必要使用close() 关闭文件。在下图中,我们可以看到用Python创建的示例文件。

如何使用open()读取Python中的文本文件

在下一个用Python读取文件的示例中,我们将学习如何在Python中打开文本文件(.txt)。当然,这很简单,我们基本上已经掌握了如何使用Python实现这一目的。也就是说,如果我们只想在Python中读取.txt文件,我们可以使用open函数和read模式:

txtfile = open('example_file.txt')

read()示例

这个操作很简单。现在,如果我们想打印文本文件的内容,可以有三个方法。第一个,使用文件对象的read()方法,读取整个文件内容。也就是说,用txtfile.read()可以得到以下输出:

第二个是用readlines()将文件读取到列表中:

txtfile = open('example_file.txt')  
print(txtfile.readlines())

在这个方法中,还可以使用通过提供参数,说明读取某些行。例如,下面的代码将把前两行读入,然后将其打印出来:

txtfile = open('example_file.txt')
line = txtfile.readlines(1)
print(line)

line2 = txtfile.readlines(2)
print(line2)

最后一个方法,通过循环方式,把文件的内容逐行打印出来:

txtfile = open('example_file.txt')
for line in txtfile:
    print(line)

写入文件内容

在示例中,打开一个.txt文件,并向其中以追加的方式增加内容,故需要用'a'模式打开。

open('example_file2.txt', 'a')

接下来,使用write()向其追加内容。

txtfile.write('\n More text here.')

在添加文本时,至少在Windows 10中,必须在行前添加\n。否则,新的一行将添加到最后一个字符的后面(在文件的最后一行)。如果我们要添加更多的行,也必须记住这样操作;

txtfile.write(‘\nLast line of text, I promise.)
txtfile.close()

可以使用文本编辑器(例如,Notepad, Gedit)打开文本文件,会看到添加的最后两行:

使用with语句

使用with语句打开文件是一个非常好的习惯,这样就不必记住关闭文件,并且使用with语句的语法清晰易读:

with open('example_file2.txt') as txtfile2:
    print(txtfile2.read())

现在,如果我们使用read()方法,Python会抛出ValueError:

txtfile2.read()

分词和统计

在读取文件后,可以使用字符串的split()方法将文本文件中的句子分割成单词,然后用collections模块中的Counter类来统计打开的文件中的单词数量。

from collections import Counter

with open('example_file2.txt') as txtfile2:
    wordcount = Counter(txtfile2.read().split())
    
print(len(wordcount))
# Output: 43

现在,Counter类返回了一个字典,该字典包含所有单词和每个单词出现的次数。因此,可以这样来打印所有单词和单词总数:

for k in sorted(wordcount, key=wordcount.get, reverse=True):
    print(k, wordcount[k])

在上面的代码示例中,我们循环遍历字典中的键并对它们进行排序。这样,就把最常见的词排在最上面。当然,如果用Python读取包含多个单词的文件、并像这样打印结果,这种操作就是不可行的。

以上介绍了以不同的模式读取文件、创建和写入文件、将数据追加到文件的方法,以及如何使用with语句读取文件。

python文件读写
分享关于数据的知识。
11-09 3484
I/O在计算机中是指Input/Output,也就是Stream(流)的输入和输出。这里的输入和输出是相对于内存来说的,Input Stream(输入流)是指数据从外(磁盘、网络)流进内存,Output Stream是数据从内存流出到外面(磁盘、网络)。程序运行时,数据都是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方(通常是磁盘、网络操作)就需要IO接口。那么这个IO接口是由谁提供呢?高级编程语言中的IO操作是如何实现的呢?操作系统是个通用的软件程序,其通用目的如下:硬件驱动。
Python读写文件
阿猫阿猪的专栏
08-11 9万+
1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open(thefile.txt)try:     all_the_text = file_object.read( )finally:     file_object.close( )注:不能把open语句放在tr
python文件读写
最新发布
2303_79552392的博客
07-30 401
在这个例子中,你不需要显式调用`file.close()`,因为`with`语句会在退出时自动关闭文件。为了确保文件始终被正确关闭,
Python 文件读写操作
江帅帅
04-13 6万+
文章目录一、Python 文件读写概述二、使用 open() 打开文件三、使用 read()、readline()、readlines() 读取数据四、使用 write()、writelines() 写入文件最后 一、Python 文件读写概述 Python文件读写操作中,会使用「内置函数」和「Pandas 库」两种方式。 先来看内置函数,包括 open()、read()、readline()、readlines()、write()、writelines()、close() 等方法,也是接下来给大家详
Python文件读写
巧克力配酸奶的博客
12-13 1955
每个键值对由一个键(key)和对应的值(value)组成,键和值之间使用冒号(:)分隔,键值对之间使用逗号(,)分隔。然而,Python也支持使用正斜杠(/)来表示文件路径,即使在Windows上也是如此。总而言之,Python中使用正斜杠或反斜杠来表示文件路径都是可以的。在Python中,文件路径可以使用正斜杠(/)或反斜杠(\)来表示。在Python中,可以使用。因此,在这些系统上,使用正斜杠表示文件路径是常见的做法。在实际应用中,进行读写时,往往会忘记最后的关闭操作,所以可以使用。
怎样使用python读写文件
qq_39500197的博客
09-24 158
目录读文件文件文件 使用open()方法打开文件 open()方法第一个参数是文件的路径,第二个参数指定打开文件模式,默认以只读模式打开。 比如open("abc.txt", "r"),这里的参数"r"即代表的是以只读模式打开文件,这里的"r"可以省略不写。 如果读取的文件中包含中文,那么还应该指定文件的编码为utf-8格式。 使用read()方法读取文件内容 with open("D:\\temp\\myfile.txt", encoding='utf-8') as f: print
Python读写文件方法读取各种类型文件
02-06
### Python读写文件方法读取各种类型文件 #### 一、概述 在Python编程中,对文件的操作是一项基本且重要的技能。无论是简单的文本文件还是复杂的二进制文件Python都提供了丰富的工具和方法来帮助开发者高效地...
Python读写文件方法总结
01-21
本文实例总结了Python读写文件方法。分享给大家供大家参考。具体分析如下: 1.open 使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。 file_object = open...
Python实现读取Properties配置文件方法
09-20
在上述代码中,`getProperties`方法逐行读取文件,如果某行包含等号,说明它是一个有效的键值对。去除换行符后,用`split('=')`将键和值分开,并存入字典。注意处理异常,如果在打开或读取文件过程中出现错误,会抛...
python 读写文件,按行修改文件方法
09-20
比如,使用write()方法来写入内容到文件中,或者使用read()方法读取文件内容。 接下来,我们具体来看看如何按行读取并修改文件内容。首先,我们使用readlines()方法可以将文件中的每一行读取出来,并将它们作为...
python读写二进制文件方法
09-22
### Python读写二进制文件方法Python中处理二进制文件是非常常见的需求,特别是在进行数据解析、图像处理或与硬件交互时。本篇文章详细介绍了如何使用Python进行二进制文件读写操作,并通过具体的示例来帮助...
Python写入文件
04-16
Python写入文件 Python写入文件
怎么在Python读写文件
ysds20211402的博客
01-14 518
转自:微点阅读https://www.weidianyuedu.com/content/2617343807907.html 从文件读取和写入文件是任何编程语言的常见需求。任何文件读写之前都需要打开。大多数编程语言都使用open()方法来打开文件,以便使用文件对象(file object)读写。 可以使用不同类型的文件访问模式作为open()方法的参数,以说明打开文件的目的。这个参数是可选的。close()方法用于在完成文件操作后释放文件对象占用的资源。 Python编程可以处理两种类型的文..
Python文件的读取和写入
热门推荐
Meringue's Blog
08-18 20万+
Python文件的读取和写入
python读写文件
qinglv1的博客
05-30 515
一.写入with open("E:/ac.txt", 'r', encoding='utf-8') as json_file: for line in json_file.readlines(): data_accu.append(line.strip('\n') )#这个只是去除两边的转义字符“\n”二.读入with open("E:/data_train.json", ...
python文件读写操作方式-Python读写文件的几种方式
weixin_37988176的博客
11-01 669
一、pandaspandas模块是数据分析的大杀器,它使得对于文件相关的操作变得简单。看一下它的简单使用import pandas as pd# 读取df = pd.read_csv('all_forum_info.csv')print(df.info())# 写入df.to_csv('data.csv')二、csv1.读取import csv# 读取with open('all_forum_in...
python文件
秋殇阁
08-08 2万+
和前面python读取文件一样,写文件的操作也是相对简单的。首先,要写入文件必须的打开文件,在打开文件的时候,我们需要做一件事情: with open(file_path, mode='w', encoding='utf-8') as file_obj: 大家注意到第二个参数了,这里是一个字符串,用来指定文件读写模式, r' -open for reading (default) 'w...
Python CSV文件读写方法详解及实例
它提供了一系列函数来处理CSV数据,如`csv.reader()`用于读取文件,`csv.writer()`用于写入文件。在读取CSV文件时,你需要打开文件,然后通过`csv.reader()`生成一个迭代器,逐行读取内容。例如: ```python import...
写文章

热门文章

  • 从DataFrame中删除列 47514
  • 如何使用Python的filter函数 17096
  • 将Python中的字典数据转化为DataFrame的方法 16609
  • 用Python读写文件的方法 14960
  • 根据条件增加DataFrame的列 7097

分类专栏

  • 案例上手 Python 数据可视化 付费 28篇
  • 机器学习 10篇
  • 数学基础 3篇
  • 飞桨 1篇
  • AlgorithmPython 36篇
  • 算法 41篇
  • Python 70篇
  • Nginx 2篇
  • Linux 6篇
  • HTML5 1篇
  • OpenRTMFP 3篇
  • Lua 2篇
  • 综合 4篇

最新评论

  • 根据条件增加DataFrame的列

    GTTwelve: 好内容 select就是我在找的

  • 如何使用Python的filter函数

    不换此生kkk: 只有三种吧

  • 最小生成树Kruskal算法的提出者Joseph Bernard Kruskal,Jr.

    Sun_lightYY: 您好,请问文章可以再分享一下吗,过期了

  • 按照指定字母顺序排序

    待戈: cmp 方法没给定义啊

  • 用幂律分布研究工资收入

    Xd聊架构: 膜拜大佬,一日不来如隔三秋

最新文章

  • ChatGPT写的一篇文章
  • ChatGPT的原理:机器人背后的模型
  • 用 Python 调用 GPT-3 API
2023年6篇
2022年1篇
2021年10篇
2020年45篇
2014年75篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qiwsir

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或 充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家河北通道商场美陈市场价和龙玻璃钢景观雕塑玻璃钢鹿雕塑价格玻璃钢雕塑服务至上南京商场美陈生产厂家雕塑玻璃钢能做什么效果镂空玻璃钢卡通雕塑湖北抽象玻璃钢雕塑供应商沈阳水果玻璃钢雕塑山东多彩玻璃钢雕塑哪家便宜扬州玻璃钢人物雕塑定制南京商场玻璃钢雕塑摆件漯河室外玻璃钢人物雕塑公司佛山玻璃钢雕塑加工厂家周口专业不锈钢玻璃钢雕塑玻璃钢雕塑有什么用广州哪里有卖玻璃钢雕塑商场手帕纸美陈福建秋季商场美陈多少钱仙桃玻璃钢小品雕塑报价海伦玻璃钢关公雕塑黑色玻璃钢花盆组合园林玻璃钢卡通雕塑销售电话肇庆景观玻璃钢雕塑定做忻州玻璃钢卡通雕塑深圳秋季商场美陈制作耐腐蚀玻璃钢雕塑性价比高南京雨花商场美陈武义卡通玻璃钢雕塑定制沧州玻璃钢雕塑制作厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化