提高效率篇:Python使用open读写文件

Python文件读写 每个键值对由一个键(key)和对应的值(value)组成,键和值之间使用冒号(:)分隔,键值对之间使用逗号(,)分隔。然而,Python也支持使用正斜杠(/)来表示文件路径,即使在Windows上也是如此。总而言之,Python中使用正斜杠或反斜杠来表示文件路径都是可以的。在Python中,文件路径可以使用正斜杠(/)或反斜杠(\)来表示。在Python中,可以使用。因此,在这些系统上,使用正斜杠表示文件路径是常见的做法。在实际应用中,进行读写时,往往会忘记最后的关闭操作,所以可以使用。 阅读详情

在目前的环境中,读取文件应该算是最基本的操作了,python也内置了读写文件的函数,让我们来看下。这里有个小点要点一下,我们使用python是没法办直接操作文件的,而是操作系统给我们预留了接口,python通过操作系统接口才能去读写文件。

还是提及一点,编写这篇文章的python版本为:

最简单读取文件操作

在python中,直接使用open方法就可以打开文件对象了。

open函数需要传入的参数为open(文件名,模式,编码),其中文件名必须要指定文件名。

例如,我们想打开files.txt文件,可以这么写:

f = open("files.txt")

这样的话,我们就得到了一个文件句柄f。而直接调用f.read()即可读取所有信息,例如:

我们有个文件,内容如下:

我们可以使用如下代码进行读取:

f = open("files.txt")
print(f.read())

结果如下:

操作一次文件读写完整流程

上述代码简单吧,但是也是有缺陷的,在于操作完毕后,没有关闭文件句柄,此操作可能会引起数据丢失,因为我们的数据不是直接存到磁盘的,而是写到缓冲器,等量够了之后,再进行写入磁盘操作。

但是等我们在执行close操作时,会强制将缓冲器的内容写到磁盘中去。

所以完整的读写流程为:

  • 使用open打开文件
  • 进行读写操作
  • 完毕后需要close文件

基本代码为:

f = open("files.txt")
# 文件读写操作
f.close()

还会有这样的一种情况,就是文件读写过程中出现异常了,抛错,导致文件执行不到f.close(),此时就没办法做关闭句柄的动作。

这个时候,我们就可以使用with open() as f的方式来进行打开文件操作,with语句会在底层做关闭句柄操作,即使触发异常,也会正常关闭句柄。

文件打开方式

还记得第一段落所提及的open打开的模式么? 其实指的是文件的打开方式,默认是只读模式,即: r,除此之外,还有其他的方式,例如:

  • r: 文件以只读方式打开(也是默认模式)。
  • w: 文件以写入方式打开,会重置文件。
  • x: 创建一个新文件且写入。
  • a: 追加写入(如果文件存在,会在末尾进行追加)。
  • b: 文件以二进制打开。
  • t: 文件以文本模式打开(也是默认模式)。
  • +: 打开文件进行更新(可读可写)。

上述模式是可以叠加的,例如默认的: rt。

如果模式不正确,则会抛错,例如,我们使用默认的rt打开一个已有文件,进行write写入:

f = open("files.txt","rt")
print(f.readline())
f.write("123")

执行后发现,其实f.readline已经执行成功了,而f.write失败了,报错为没有writeable。

此时我们若将权限修改为r+,则就不会报错,我们试试看

程序修改为:

执行后查看文件

可以看到123已经追加到文件中了,只不过没有换行。

python提供的读取方法有何意义

在上述段落中,我们已经有了文件句柄f,关于读取有如下几种方法:

  • readlines: 一次性读取所有行,然后将其按照列表的形式返回。
  • readline: 每次读取一行,直至空。
  • read: 读取全部数据并且返回。

readlines会读取所有的行,并且按照列表的形式返回,例如:

f = open("files.txt","r")
print(f.readlines())
f.close()

上述代码会将files.txt全部读取完,并且按照换行作为分隔符,进行拆分数据,并且按照列表的形式进行返回。

执行后效果为:

而read则会读取全部数据并且返回,当然了,read还能接收参数,例如read(10)就是读取10个字节数据,默认是全部,例如:

f = open("files.txt","r")
print(f.read())
f.close()

执行后效果为:

对于readline来说,它会读取一行文件,我们可以结合with语句来操作,可以避免close。如何使用open...with配合readline读取所有的行呢? 可以使用如下代码实现:

with open("files.txt","r+") as f:
    while True:
        line = f.readline()
        if not line:
            break
        print(line)

上述代码中,我们使用了while True来进行死循环,将文件读取完毕后,就退出循环。

小案例: 扫描redis配置文件

我们将使用python读取文件操作,对redis.conf进行读取,将排查掉配置文件的空行和注释行,并且将剔除配置文件之后的配置写入到新文件中newRedis.conf。

注意: redis使用#进行注释配置,例如:

cat redis.conf
# 这是注释
bind 0.0.0.0 # 这也是注释

由于该配置文件实在是太长了,所以,我们随机选择一段进行操作:

我们可以先使用写方式打开新文件newRedis.conf,而后使用以只读方式打开redis.conf,而后逐行扫描,如果遇到空行,或者开头为#的就直接略过,如果上述2者都不是,则是配置文件,注意配置文件是否包含注释符号#,如果包含的话,需要略过#之后的数据。

上述代码引入了re库进行处理,其中match代表匹配字符串行首,^$代表空行,而后再在配置文件中判断#是否出现在语句中,如果出现,再使用元组将第一个#配置前的数据抓出来。

最后将抓出的配置写入文件中即可。

执行脚本后,查看newRedis.conf文件

总结

本篇文章介绍了python读写文件,更推荐使用with open的方式,因为它底层会调用close方法,而不需要我们自己去写调用close方法。

最后我们写了一个小案例来屏蔽redis注释和空行,仅读取配置文件。

Python经验分享

学好 Python 不论是用于就业还是做副业赚钱都不错,而且学好Python还能契合未来发展趋势——人工智能、机器学习、深度学习等。但要学会 Python 还是要有一个学习规划,这样才能学的更快更稳,最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、机器学习、Python量化交易等学习教程。带你从零基础系统性的学好Python!

最新全套【Python入门到进阶资料 & 实战源码 &安装工具】(安全链接,放心点击)

一、Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

二、学习软件

工欲善其事必先利其器。学习Python常用的开发软件都在这里了,给大家节省了很多时间。

三、入门学习视频

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

四、实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

五、面试资料

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


我已经上传至优快云官方,如果需要可以扫描下方官方二维码免费获取【保证100%免费】

*今天的分享就到这里,喜欢且对你有所帮助的话,记得点赞关注哦~下回见 !

Day02 Python之文件操作(open、read、write、close) 一、file对象的属性 1、file.name 返回文件的名称 2、file.mode 返回文件的访问模式 3、file.closed 查看文件是否关闭,是TRUE,否FALSE 二、访问模式 r: 只读模式(默认); 文件必须存在 w: 只写模式; 不存在则创建,存在则重写 a: 追加模式; 不存在则创建,存在则只追加内容 +:表示可以同时读写某个文件 r+: 可读写文件,文件不存在抛出异常 w+:先写再读 三、打开文件 1、创建文件,内容为 2、open(文件路径,访问模式) file=open('. 阅读详情

相关推荐

python文件操作open的使用方法详解

文件操作的作用: 读取内容,写入内容,备份内容等 文件操作就是把一些数据存放起来,可以让程序下一次执行的时候直接使用,而不必重新 制作一份,省时省力

景天科技苑 2805

Python用open读取和写入方法

With open函数打开文件的各种方式 1.读文件 要以读文件的模式打开一个文件对象,使用Python内置的open()函数,传入文件名和标示符: f = open( '/Users/michael/test.txt', 'r' ) 标示符’r’表示读,这样,我们就成功地打开了一个文件。 如果文件不存在,open()函数就会抛出一个IOError的错误,并且给出错误码和详细的信息告诉你文件不...

qq_40984952的博客 2万+

【ISAR成像定标方法(1)—转台目标的RD成像算法MATLAB仿真】

ISAR成像定标方法的研究具有重要意义,但是与之相关的学习资料以及仿真对于小白来说很难找或者很杂乱,本人作为小白之一在研究过程中苦不堪言,现在自己所要研究的定标内容已经完成,以后还学不学雷达也不一定,因为后面的路更难,现在打算把一些相关推导和仿真结果列出来,以供小白交流学习使用,希望能有点帮助。(PS:由于公式和符号的原因,采用图片形式说明)

此木旧年的博客 6417

python文件读写操作

python 文件读写操作,只读、写、追加、二进制读取,二进制写入,with语句读写操作,文件刷新等

不忘初欣丶的博客 2352

Claude Code与Codex深度对比:终端AI编程助手选型指南

大语言模型驱动的AI编程助手已成为开发者提效的重要工具,它们基于自然语言交互,自动完成代码生成、重构和调试。这类工具依赖上下文理解与工程实践,不同产品在交互模式、模型接入和任务执行上差异显著。从终端CLI编程场景出发,梳理AI编程助手的设计原理与技术价值,重点对比Anthropic Claude Code与OpenAI Codex在安装配置、上下文管理、第三方模型接入(如DeepSeek)以及高频报错处理上的实际表现。无论你是新手还是资深工程师,理解这些差异有助于根据自身工作流选择合适工具,或在两者间灵活切

weixin_33755649的博客 3219

ControlCAN.dll开发适配USBCAN_E/2E_U设备

摘要:本文提供了USBCAN_E/2E_U设备的配置指南:1)安装专用驱动;2)获取最新的ControlCAN.dll文件;3)修改VCI调用顺序,新增VCI_SetReference函数设置波特率;4)使用工具计算波特率配置值,并给出了常见波特率对应的代码参考值(如500K对应0x060007)。配置过程强调使用特定工具计算精确的波特率参数,并提供了相关软件下载链接。

weixin_43969033的博客 390

Python open函数使用详解

open() 可以打开一个文件,并返回文件对象。打开文件文件打开模式,创建文件,读取文件内容,写入文件,中文编码错误,缓冲区

wangyuxiang946的博客 7149

Redis+QMT实战:如何用Stream模式实现聚宽策略的毫秒级跟单(附完整代码)

本文详细介绍了如何利用Redis Stream模式构建一个低延迟、高可靠的量化交易信号中继系统,实现从聚宽策略到本地QMT的毫秒级跟单。通过对比传统方案,解析了Redis Stream在消息持久化、消费组和显式确认方面的核心优势,并提供了完整的架构设计思路与核心代码实现,帮助量化开发者解决云端策略信号稳定传递至本地实盘的难题。

weixin_29280657的博客 477

Python 文件操作 (open、close、文本文件读取-csv、文本文件储存、读写Excel文件、当前工作目录)

刚刚考完数据结构的理论考试,可能暂时会不写关于数据结构的内容了,有时间的话,会再更新一篇关于数据结构实验的文章。可能之后会写关于SAS软件和Python的内容,欢迎大家关注,一起学习,共同进步 ^ ^ 之前学Python的时候,关于文件的操作,使用的不熟练,所以今天就详细的过一遍基本操作,希望对大家有帮助。 文件操作 1. 打开文件 可以使用open函数获得文件。open()函数是Python的内置函数,它屏蔽了创建文件对象的细节,使得创建文件对象变得简单。 open()函数的语法如下: open(file

TXYGoodluck的博客 2067

Rust 与 C/C++:Rust 比 C/C++ 更好还是只是“技能问题”?

对于许多嵌入式系统开发人员而言,的崛起似乎掀起了一股不小的浪潮,特别是在相较于传统的语言,Rust的“内存安全”优势让人眼前一亮。然而,是否可以将Rust作为C/C++的替代品?或者说,Rust是否真的比C/C++更好,抑或它只是一个“技能问题”呢?在嵌入式开发的领域,我观察到,尽管Rust在一些高性能、内存安全敏感的场景中受到了广泛推崇,但它在实际应用中的普及度,特别是在嵌入式领域,依然有限。今天,我会从多个角度探讨这个问题,并且分享一些对于Rust、C/C++以及嵌入式系统开发的个人见解。

qq_63315166的博客 1300

RTX 50系显卡(5080/5090D)CUDA 12.8环境下的vLLM部署避坑与实战指南

本文为RTX 5080/5090D显卡用户提供了在CUDA 12.8环境下部署vLLM的完整实战指南。文章详细介绍了从驱动安装、CUDA 12.8环境配置、PyTorch Nightly版本精准匹配,到vLLM源码编译及常见报错排查的全过程,帮助开发者高效利用新一代硬件进行大模型推理。

gray5的博客 667

python 读取文件名 指定编码_Python 文件读写与编码解读

一、Python 读取文件使用open函数python open() 函数用于打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写。open(name[,mode[,buffering]])参数说明:name : 一个包含了你要访问的文件名称的字符串值。mode : mode 决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模...

weixin_42391485的博客 3437

AI硬件加速:CPU vs GPU性能对比

AI硬件加速:CPU vs GPU性能对比 关键词:人工智能、硬件加速、CPU、GPU、性能对比、硬件架构、并行计算、优化策略、项目实战 摘要: 本文将深入探讨AI

AI天才研究院 1914

python同时读写文件_python基础之文件读写

前言文件读写可以说是最常用的功能之一,总结一下python内置的读写文件的方法。打开文件opendef open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True):pass参数说明:file:文件路径,可以是相对路径,也可以是绝对路径mode: 文件的读写方式,默认‘r’,...

weixin_39682673的博客 1290

【网络安全 | 渗透工具】密码字典生成工具crunch、cupp安装使用教程

Crunch是一个常用的密码破解工具,它可以根据指定的字符集、长度和模式生成各种可能的密码并进行暴力破解。同时,Crunch可以将生成的密码保存到文件中,以便在破解工具中使用。在进行渗透测试时,手动收集密码字典是十分耗时的,利用密码字典生成工具可以大幅缩短时间,提高爆破宽度。

等风来 8422

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

使用python读写大文件

使用python读写大文件

IT之一小佬的博客 1867

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Python读写文件

给要打开的文件对象指定一个名字,这样可在完成操作之后迅速关闭文件,防止一些无用的文件对象占用内存 1 2 3 4 5 file_object=open('thefile.txt') try: all_the_text=file_object.read( ) finally: file_object.close( ) ...

weixin_33901843的博客 264

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python open写入文件_Python open读写文件实现脚本

1.open使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。file_object = open('thefile.txt')try:all_the_text = file_object.read( )finally:file_object.close( )注:不能把open语句放在try块里,因为当打开文件出现异常时,文...

weixin_39620273的博客 132

python核心编程:python之文件的读写和文件目录以及文件夹的操作实现代码

这篇文章主要介绍了python之文件的读写和文件目录以及文件夹的操作实现代码,需要的朋友可以参考下 为了安全起见,最好还是给打开的文件对象指定一个名字,这样在完成操作之后可以迅速关闭文件,防止一些无用的文件对象占用内存。举个例子,对文本文件读取: file_object = open('thefile.txt') try: all_the_text = file_object.read( ) ...

python核心编程 1236

python 对文件的读写操作 和 对文件夹的操作

#文章转自https://blog.youkuaiyun.com/weixin_39556338/article/details/79781510 给要打开的文件对象指定一个名字,这样可在完成操作之后迅速关闭文件,防止一些无用的文件对象占用内存 file_object = open('thefile.txt') try: all_the_text = file_object.read( ) fi...

郑德帅 7792

python codecs.open()及文件操作

文章来源:https://blog.youkuaiyun.com/gufenchen/article/details/90553259 文件读取: codecs.open(filepath,method,encoding) filepath--文件路径 method--打开方式,r为读,w为写,rw为读写 encoding--文件的编码,中文文件使用utf-8 一. python打开文件代码如下:...

白清羽的博客 5741

python编程读写文件内容_python读写文件的操作

编程语言中,我们经常会和文件和文件夹打交道,这篇文章主要讲的是Python中,读写文件的常用操作:一、打开文件openFile = open('../Files/exampleFile.txt', 'a')说明:1. 第一个参数是文件名称,包括路径,可以是相对路径./,也可以是绝对路径"d:\test.txt";2. 第二个参数是打开的模式mode,包含r,w,a,r+'r':只读(缺省。如果文件...

weixin_39905037的博客 326

python用open语句打开的文件位置_python – 如何使用open with语句打开文件

Python允许将多个open()语句放在一个单独的。你可以用逗号分隔。您的代码将是:def filter(txt, oldfile, newfile):'''\Read a list of names from a file line by line into an output file.If a line begins with a particular name, insert a str...

weixin_33734921的博客 659

Python使用open函数的buffering设置文件缓冲

1、如何设置文件的缓冲 实际案例: 将文件内容写到硬件设备时,使用系统调用,这类I/O操作的时间很长。为了减少I/O操作的次数,文件通常使用缓冲区。(有足够多的数据才进行系统调用)文件的缓冲行为,分为全缓冲、行缓冲、无缓冲。 如何设置python中文件对象的缓冲行为?python文件对象默认的缓冲行为4个字节(4096) 解决方案: 全缓冲:open函数的bufferin...

晓康的博客 3757

编程小白的自学笔记十三(python办公自动化读写文件)

在自学笔记一的时候我已经学了文件的读写,那是学的基础,现在是开始深入学习办公自动化。

m0_49914128的博客 1726
上一篇: Python工厂模式封装Webhook群聊机器人
下一篇: 亲戚小孩月薪17k,而我只有4k+,好慌......
田野猫咪
博客等级 码龄4年 5080粉丝 502原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值