萌新学python3.0 笔记 第8课时 文件读写

最新推荐文章于 2023-12-28 07:45:00 发布
清舟 最新推荐文章于 2023-12-28 07:45:00 发布
阅读量178 收藏
点赞数
CC 4.0 BY-SA版权
分类专栏: 笔记 python3
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.youkuaiyun.com/qq_38929454/article/details/80683708
笔记 同时被 2 个专栏收录
9 篇文章
订阅专栏
python3
7 篇文章
订阅专栏
本文详细介绍了Python中如何使用内置函数open()来打开和关闭文件,包括各种访问模式及其功能,并解释了如何利用file对象进行基本的文件读写操作。此外还列举了一些常用的文件操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

打开和关闭文件:

open()函数:

               必须使用内置函数open()打开一个文件,创建一个file对象,相关方法才可以调用进行读写。 

               语法:

                file object = open(file_name [,access_mode] [,buffering ])      也可以加encoding

                flie_name:操作文件的路径

                access_mode:方问的方式 只读,写入,追加等.

                buffering :如果buffering的值被设为0,就不会有寄存。如果buffering的值取1,访问文件时会寄存行。                  如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大小。如果取负值,寄                  存区的缓冲大小则为系统默认。\

         encoding:设置编码格式,中文编码"utf-8"

 

不同模式打开文件的完全列表:          

mode说明
r以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
rb以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
r+打开一个文件用于读写。文件指针将会放在文件的开头。
rb+以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
w打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
w+打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
wb+以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
a打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。
ab以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。
a+打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
ab+以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。

file对象常用函数:

file.colse() :关闭文件,关闭后的文件不能进行读写操作。

file.flush():刷新文件内部缓冲,直接把内部缓冲区的数据立刻写入文件,而不是被动的等待输出缓冲区写入。

file.flieno() : 返回一个整形的文件描述(file descriptor FD 整形),可以用在os模块的read方法等一些底层操作上 。

file.isatty() :如果文件连接到一个终端设备返回True ,否则为False。

file.next():返回文件下一行.

file.read([size]): 从文件读取指定的字节数,如果未给定或为负则读取所有。 

file.readline([size]): 读取整行,包括“/n”字符.

file.readlines([sizeint):读取所有行并返回列表,若给定sizeint>0 ,返回总和为sizeint字节的行,实际读取值可能给比sizeint 较大 ,因为                                      需要填充缓冲区。

file.seek(offset[,whence]):设置文件当前位置。

file.tell()返回文件当前位置 。 

file.truncate([size]):从文件的首行字符开始截断,截断文件size个字符,无size表示从当前位置截断;截断之后后面的所有字符被删除,其中widows系统下的换行代码2个 字符大小 。

file.write(str):将字符串写入文件 ,返回的是写入的字符长度.

file.writelines(sequnce):向文件写入一个个序列字符串列表,如果需要换行则要自己加入每行的换行符。



os模块: 

os.sep:取代操作系统特定的路径分隔符

os.name:指示你正在使用的工作平台。比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'。

os.getcwd:得到当前工作目录,即当前python脚本工作的目录路径。

os.getenv()和os.putenv:分别用来读取和设置环境变量

os.listdir():返回指定目录下的所有文件和目录名

os.remove(file):删除一个文件

os.stat(file):获得文件属性

os.chmod(file):修改文件权限和时间戳

os.mkdir(name):创建目录

os.rmdir(name):删除目录

os.removedirs(r“c:\python”):删除多个目录

os.system():运行shell命令

os.exit():终止当前进程

os.linesep:给出当前平台的行终止符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'

os.path.split():返回一个路径的目录名和文件名

os.path.isfile()和os.path.isdir()分别检验给出的路径是一个目录还是文件

os.path.existe():检验给出的路径是否真的存在

os.listdir(dirname):列出dirname下的目录和文件

os.getcwd():获得当前工作目录

os.curdir:返回当前目录('.')

os.chdir(dirname):改变工作目录到dirname

os.path.isdir(name):判断name是不是目录,不是目录就返回false

os.path.isfile(name):判断name这个文件是否存在,不存在返回false

os.path.exists(name):判断是否存在文件或目录name

os.path.getsize(name):或得文件大小,如果name是目录返回0L

os.path.abspath(name):获得绝对路径

os.path.isabs():判断是否为绝对路径

os.path.normpath(path):规范path字符串形式

os.path.split(name):分割文件名与目录(事实上,如果你完全使用目录,它也会将最后一个目录作为文件名而分离,同时它不会判断文件或目录是否存在)

os.path.splitext():分离文件名和扩展名

os.path.join(path,name):连接目录与文件名或目录

os.path.basename(path):返回文件名

os.path.dirname(path):返回文件路径


with open('abc.txt', 'wb') as f:
  dic = {'age': 23, 'job': 'student'}
  pickle.dump(dic, f)

# 反序列化
with open('abc.txt', 'rb') as f:
  aa = pickle.load(f)
  print(aa)



确定要放弃本次机会?
福利倒计时
: :

立减 ¥

普通VIP年卡可用
立即使用
清舟
关注 关注
  • 0
    点赞
  • 踩
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
  • 分享
    复制链接
    分享到 QQ
    分享到新浪微博
    扫一扫
  • 举报
    举报
专栏目录
新学Python之开宗明义篇
weixin_43178406的博客
12-20 4万+
今天给大家带来的是新学Python之开宗明义篇,希望能对初学Python的同学们有所帮助。 文章目录 1. 背景 2. 核心概念 2.1 什么是Python语言? 2.2 为什么要学Python? 2.3 学习Python的高效方法 3. 如何学习官网教程 4. 进阶学习
11.1 Python 文件的读写
在路上的专栏
08-09 697
在 Python 编程中,文件的读写操作如同打开和关闭一本魔法书,它记录着一切重要的数据与信息。通过这篇文章,我们将深入探讨如何在 Python 中优雅地进行文件的读写操作,并避免常见的陷阱。通过通俗易懂的讲解与生动的故事,我们将使你轻松掌握文件操作的精髓,让文件处理变得简单而有趣。
参与评论 您还未登录,请先 登录 后发表或查看评论
python基础 3.0 file 读取文件
weixin_34021089的博客
10-27 220
一.python 文件访问 1.在python中要访问文件,首先要打开文件,也就是open r: 只读 w: 只写 ,文件已存在则清空,不存在则创建 a:追加 ,写到文件末尾。如果文件存在,则在文件最后去追 加。文件不存在就去创建 +-:更新(可读可写) r+ :以读写模式打开 w+ :以读写模式打开(参见w) a+:以读写模式打开(参见a) rb:...
python 3.0 文件操作基本流程
dianmichi3581的博客
05-01 185
1、r data = open('孙悟空','r',encoding = 'utf-8').read() print(data) #该操作为文件的读操作, 2、w f = open('孙悟空','w',encoding = 'utf-8') f.write('hello world') f.write('karen') #不换行写入两个,不覆盖==>hello ...
python下几种打开文件的方式
Fortuna_的博客
08-13 2万+
python下打开文件超级简单,不用导入任何包,直接输入 f = open('your_file.txt','r') 就可以打开一个文件进行操作。第二个参数为对文件的操作方式,’w’是写文件,已存在的同名文件会被清空,不存在则会创建一个;’r’是读取文件,不存在会报错;’a’是在文件尾部添加内容,不存在会创建文件,存在则直接在尾部进行添加;还有’wb’是写二进制文件;’rb’是读取二进制文件...
萌新学python3.0 笔记 第9课时 xml文件
qq_38929454的博客
06-19 220
python有三种方法解析XML,SAX,DOM,以及ElementTree1.SAX (simple API for XML )python 标准库包含SAX解析器,SAX用事件驱动模型,通过在解析XML的过程中触发一个个的事件并调用用户定义的回调函数来处理XML文件。2.DOM(Document Object Model)将XML数据在内存中解析成一个树,通过对树的操作来操作XML。3.SAX...
萌新学python3.0 笔记 第1课时
qq_38929454的博客
05-21 203
Python的3.0版本,常被称为Python 3000,或简称Py3k。相对于Python的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0在设计的时候没有考虑向下兼容。1.python变量无需关键字,例如:  a=102.python是一种强类型的语言(不定),每一个变量都是一个引用。3.print()换行,print(end=" ")不换行4.python中单引号和双...
萌新学python3.0 笔记 第2课时
qq_38929454的博客
05-23 211
Python转义字符在需要在字符中使用特殊字符时,python用反斜杠(\)转义字符。如下表:转义字符描述\(在行尾时)续行符\\反斜杠符号\'单引号\"双引号\a响铃\b退格(Backspace)\e转义\000空\n换行\v纵向制表符\t横向制表符\r回车\f换页\oyy八进制数,yy代表的字符,例如:\o12代表换行\xyy十六进制数,yy代表的字符,例如:\x0a代表换行\other其它的...
萌新学python3.0 笔记 第3课时 元组 字典 set
qq_38929454的博客
05-28 190
Python3 元组Python的元组与列表相似,不同的是元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建只需要在括号中添加元素,并使用逗号隔开即可。如:tup1=('Google','Runoob',1997,2000)      tup2=(1,2,3,4,5)      tup3="a","b","c","d";            #不需要括号也可以创建空元组     tup...
萌新学python3.0 笔记 第7课时 装饰器 闭包
qq_38929454的博客
06-12 181
闭包:在一些语言中,在函数中可以(嵌套)定义另一个函数时,如果内部的函数引用了外部的函数的变量,则可能产生闭包。闭包可以用来在一个函数与一组“私有”变量之间创建关联关系。在给定函数被多次调用的过程中,这些私有变量能够保持其持久性。python语言中形成闭包的三个条件:1)必须有一个内嵌函数(函数里定义的函数)——这对应函数之间的嵌套2)内嵌函数必须引用一个定义在闭合范围内(外部函数里)的变量——内...
萌新学python3.0 笔记 第5课时 面向对象
qq_38929454的博客
06-04 236
面向对象技术简介类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。方法:类中定义的函数。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量用于处理类及其实例对象的相关的数据。方法重写:如果从父类继承的方法不能满足子类的需求,可以对其进行改写,这...
快速掌握Python 3.0:实战学习指南
4. **文件和I/O**:涵盖读写文件、文件操作错误处理、文本与二进制文件的区别,以及更高级的 I/O 操作。 5. **正则表达式**:教授如何使用 Python 的 `re` 模块进行文本模式匹配和搜索。 6. **网络编程**:讲解...
新学Python的核心方法和两大法宝
热门推荐
weixin_43178406的博客
12-28 4万+
大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为优快云博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的知识进行总结与归纳,不仅形成深入且独到的理解,而且能够帮助新手快速入门。今天给大家带来的是新学Python的两大法宝,希望能对初学Python的同学们有所帮助。
万文多图详解新学Python之Jupyter Notebook学习(持续更新)
herosunly的博客
02-28 1万+
1. 为什么学习Jupyter Notebook 1.1 开源+广受好评 1.2 轻量级+学习成本低 2. 安装 3. 最基本操作 3.1 打开jupyter notebook软件 3.2 创建ipynb文件 4. 基本单元cell 4.1 命令模式常用的快捷键 4.2 编辑模式下的两种命令 4.3 在cell中显示图片和流程图 5. 菜单栏(File栏、Cell栏、Edit栏、Kernel栏等) 6. 其他常用用法...
电力系统低碳调度:源荷多时间尺度优化方法及MATLAB+Cplex实现
08-14
内容概要:本文探讨了一种计及碳捕集电厂低碳特性的含风电电力系统源-荷多时间尺度调度方法。该方法旨在通过协调源侧(如碳捕集电厂)和荷侧(如价格型和激励型需求响应资源),提升整个电力系统的低碳性能。文中详细介绍了如何利用MATLAB和CPLEX进行建模,包括定义决策变量、构建目标函数以及设置约束条件。特别地,文中提到当风电预测误差较大时,激励型需求响应能够显著减少碳捕集率的波动,从而有效应对风电出力的不确定性。最终实验结果显示,在协同调度模式下,系统总碳排放降低了23.7%,而需求响应成本仅增加了8%。 适合人群:对电力系统调度、低碳能源技术和优化算法感兴趣的科研人员和技术开发者。 使用场景及目标:适用于研究电力系统低碳化转型过程中,如何通过源荷两侧资源的高效配置来实现节能减排的目标。同时,也为实际工程应用提供了有价值的参考。 其他说明:文中提供的MATLAB代码具有良好的可读性和扩展性,便于用户根据实际情况调整参数进行仿真实验。
(完整)方差与标准差测试题及答案(完整版).docx
08-14
(完整)方差与标准差测试题及答案(完整版).docx
从零开始不用框架用 Python 实现卷积神经网络
08-14
资源下载链接为: https://pan.quark.cn/s/19008e241a08 从零开始不用框架用 Python 实现卷积神经网络(最新、最全版本!打开链接下载即可用!)
基于SE算法的心音信号处理:Matlab实现心率计算与MFCC特征提取 心率计算
最新发布
08-14
利用Matlab进行心音信号处理的方法和技术,重点探讨了心率计算和MFCC特征提取的具体实现步骤。首先对心音信号进行了预处理,采用带通滤波器去除不必要的噪音,确保信号质量。接着,通过峰值检测算法计算心率,并设置了合理的参数来提高准确性。对于MFCC特征提取,则选择了适当的帧长和帧移,确定了13个系数作为特征向量。此外,文章还介绍了SE算法的应用,特别是在高噪声环境下如何有效地分离有用信号。最后,作者分享了一些实际应用中的经验和注意事项,如采样率的选择、预加重处理以及波形重构等。 适合人群:从事生物医学工程、信号处理领域的研究人员和工程师,尤其是那些希望深入了解心音信号处理技术的人。 使用场景及目标:适用于需要从心音信号中获取健康信息的研究项目,如心脏病诊断辅助系统开发。主要目标是掌握心音信号处理的基本流程和技术要点,能够独立完成相关实验并解决常见问题。 其他说明:文中提供了具体的Matlab代码片段,便于读者理解和复现实验结果。同时强调了不同病理条件下特征表现的差异性和复杂性,鼓励研究者灵活运用多种特征组合来进行综合分析。
清舟

博客等级

码龄8年
10
原创
2
点赞
0
收藏
1
粉丝
关注
私信

热门文章

  • python爬虫1 257
  • 萌新学python3.0 笔记 第5课时 面向对象 236
  • 萌新学python3.0 笔记 第9课时 xml文件 220
  • 萌新学python3.0 笔记 第4课时 常用函数,sorted , 类与对象 213
  • 萌新学python3.0 笔记 第2课时 211

分类专栏

  • UNITY3D 萌新学习日记
  • 笔记
    9篇
  • python3
    7篇
上一篇:
萌新学python3.0 笔记 第7课时 装饰器 闭包
下一篇:
萌新学python3.0 笔记 第9课时 xml文件

大家在看

  • QSharedPointer<QByteArray> 入门
  • HTML 常用标签介绍
  • 趋势指标之王MACD到底行不行 425
  • Go语言实战案例:静态资源服务(CSS、JS、图片)
  • 深度学习——05 循环神经网络RNN

最新文章

  • python爬虫1
  • 萌新学python3.0 笔记 第9课时 xml文件
  • 萌新学python3.0 笔记 第7课时 装饰器 闭包
2018年10篇

目录

展开全部

收起

目录

展开全部

收起

上一篇:
萌新学python3.0 笔记 第7课时 装饰器 闭包
下一篇:
萌新学python3.0 笔记 第9课时 xml文件

分类专栏

  • UNITY3D 萌新学习日记
  • 笔记
    9篇
  • python3
    7篇

展开全部 收起

目录

评论
被折叠的  条评论 为什么被折叠? 到【灌水乐园】发言
查看更多评论
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值