Python3 File(文件) 方法
Python3 File(文件) 方法
open() 方法
Python open() 方法用于打开一个文件,并返回文件对象。
在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。
注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法。
open() 函数常用形式是接收两个参数:文件名(file)和模式(mode)。
open(file, mode='r')
完整的语法格式为:
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
参数说明:
- file: 必需,文件路径(相对或者绝对路径)。
- mode: 可选,文件打开模式
- buffering: 设置缓冲
- encoding: 一般使用utf8
- errors: 报错级别
- newline: 区分换行符
- closefd: 传入的file参数类型
- opener: 设置自定义开启器,开启器的返回值必须是一个打开的文件描述符。
| 模式 | 描述 |
|---|---|
| t | 文本模式 (默认)。 |
| x | 写模式,新建一个文件,如果该文件已存在则会报错。 |
| b | 二进制模式。 |
| + | 打开一个文件进行更新(可读可写)。 |
| U | 通用换行模式(Python 3 不支持)。 |
| r | 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。 |
| rb | 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。一般用于非文本文件如图片等。 |
| r+ | 打开一个文件用于读写。文件指针将会放在文件的开头。 |
| rb+ | 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。一般用于非文本文件如图片等。 |
| w | 打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
| wb | 以二进制格式打开一个文件只用于写入。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
| w+ | 打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。 |
| wb+ | 以二进制格式打开一个文件用于读写。如果该文件已存在则打开文件,并从开头开始编辑,即原有内容会被删除。如果该文件不存在,创建新文件。一般用于非文本文件如图片等。 |
| a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
| ab | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。 |
| a+ | 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。 |
| ab+ | 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。 |
File close() 方法
close() 方法用于关闭一个已打开的文件。关闭后的文件不能再进行读写操作, 否则会触发 ValueError 错误。 close() 方法允许调用多次。
当 file 对象,被引用到操作另外一个文件时,Python 会自动关闭之前的 file 对象。 使用 close() 方法关闭文件是一个好的习惯。
#语法 无参数 没有返回值
fileObject.close();
#!/usr/bin/python3# 打开文件
fo = open("runoob.txt", "wb")
print("文件名为: ", fo.name)# 关闭文件
fo.close()文件名为: runoob.txt
File flush() 方法
flush() 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。
#语法 没有参数 没有返回值
fileObject.flush();
#!/usr/bin/python3# 打开文件
fo = open("runoob.txt", "wb")
print ("文件名为: ", fo.name)# 刷新缓冲区
fo.flush()# 关闭文件
fo.close()文件名为: runoob.txt
File fileno() 方法
fileno() 方法返回一个整型的文件描述符(file descriptor FD 整型),可用于底层操作系统的 I/O 操作。
#语法 无参数, 返回文件描述符
fileObject.fileno();
#!/usr/bin/python3# 打开文件
fo = open("runoob.txt", "wb")
print ("文件名为: ", fo.name)fid = fo.fileno()
print ("文件描述符为: ", fid)# 关闭文件
fo.close()文件名为: runoob.txt
文件描述符为: 3
File isatty() 方法
isatty() 方法检测文件是否连接到一个终端设备,如果是返回 True,否则返回 False。
#语法 无参数 返回值:如果连接到一个终端设备返回 True,否则返回 False。
fileObject.isatty();
#!/usr/bin/python3# 打开文件
fo = open("runoob.txt", "wb")
print ("文件名为: ", fo.name)ret = fo.isatty()
print ("返回值 : ", ret)# 关闭文件
fo.close()文件名为: runoob.txt
返回值 : False
File next() 方法
Python 3 中的 File 对象不支持 next() 方法。 Python 3 的内置函数 next() 通过迭代器调用 next() 方法返回下一项。 在循环中,next()方法会在每次循环中调用,该方法返回文件的下一行,如果到达结尾(EOF),则触发 StopIteration
#语法 无参数 返回文件下一行
next(iterator[,default])
文件 runoob.txt 的内容如下:
这是第一行
这是第二行
这是第三行
这是第四行
这是第五行
循环读取文件的内容:
#!/usr/bin/python3# 打开文件
fo = open("runoob.txt", "r")
print ("文件名为: ", fo.name)for index in range(5):line = next(fo)print ("第 %d 行 - %s" % (index, line))# 关闭文件
fo.close()文件名为: runoob.txt
第 0 行 - 这是第一行第 1 行 - 这是第二行第 2 行 - 这是第三行第 3 行 - 这是第四行第 4 行 - 这是第五行
相关文章:
Python3 File(文件) 方法
Python3 File(文件) 方法 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象。 在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError。 注意:使用 open() 方法一定要保证关闭文件对…...
APP渗透抓包
APP渗透抓包1.APP渗透测试原理2.安装安卓模拟器抓包2.1.安装模拟器2.2.设置代理下载证书2.2.1.burp suite设置代理2.2.2.浏览器设置代理2.2.3.下载证书2.3.模拟器安装证书2.3.1.移动证书2.3.2.证书设置2.4.设置代理2.4.1.设置burp suite代理2.4.2.夜神模拟器代理2.5.抓包测试2.…...
力扣(LeetCode)414. 第三大的数(2023.02.16)
给你一个非空数组,返回此数组中 第三大的数 。如果不存在,则返回数组中最大的数。 示例 1: 输入:[3, 2, 1] 输出:1 解释:第三大的数是 1 。 示例 2: 输入:[1, 2] 输出:2…...
Spring底层
一、什么是Spring?谈谈你对IOC和AOP的理解。Spring: 是一个企业级java应用框架,他的作用主要是 简化软件的开发以及配置过程,简化项目部署环境。Spring的有点:1、Spring低侵入设计,对业务代码的污染非常低。…...
Cache-Control 常见字段
Cache-Control 常见字段 参考:https://blog.csdn.net/qq_41996454/article/details/108644436 Cache-Control 可以在请求头或者响应头中设置,并且可以组合使用多种指令 no-cache 和 no-store 用作控制缓存,被服务器通过响应头 Cache-Contro…...
Flink Checkpoint 中的通用增量Checkpoint
文章目录知识点状态Flink容错恢复周期性的 Checkpoint错误检测 Failure Detected重新调度 Re-scheduling状态恢复 State Recovery通用增量Checkpoint知识点 状态 算子需要记录之前数据处理的中间结果,把中间结果暂时缓存在算子的内部,这就是算子的状态…...
金三银四必看的软件测试面试题宝典,背完offer随便拿
怎么来设计测试方案根据测试需求(包括功能需求和非功能性需求),识别测试要点,识别测试环境要求,安排测试轮次,根据项目计划和开发计划做整体的测试安排。 被测试的特性:通过对需求规格说明书进行…...
企业电子招标采购系统源码Spring Cloud + Spring Boot +二次开发+ MybatisPlus + Redis
一、立项管理 1、招标立项申请 功能点:招标类项目立项申请入口,用户可以保存为草稿,提交。 2、非招标立项申请 功能点:非招标立项申请入口、用户可以保存为草稿、提交。 3、采购立项列表 功能点:对草稿进行编辑&#x…...
扬帆优配“数字经济+实体经济”融合发展,行业增长空间大!
组织以为,数字经济已经逐步成为工业商场和资本商场的共同主题。 2月16日,国家发改委在《求是》杂志发表文章《努力推进经济完成质的有效提升和量的合理增加》。文章指出要加速开展数字经济,加速实施“东数西算”等重大工程,推进数…...
分享82个HTML电脑主机模板,总有一款适合您
分享82个HTML电脑主机模板,总有一款适合您 82个HTML电脑主机模板下载链接:https://pan.baidu.com/s/13DGOCgvbxSksMPwJzi2z0g?pwdl0mi 提取码:l0mi Python采集代码下载链接:采集代码.zip - 蓝奏云 云虚拟主机运营商网站模板…...
.htaccess语法教程
RewriteEngine On RewriteCond %{HTTP_HOST} ^(www\.)?xxx\.com$ RewriteCond %{REQUEST_URI} !^/blog/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /blog/$1# 没有输入文件名的默认到到首页 RewriteCond %{HTTP_HOST} ^(w…...
C++ ——多态 下 (图解多态原理、虚函数的再认知)
目录 一、抽象类 1)抽象类定义 2)抽象类的继承 3)抽象类实现多态 4)抽象类的好处 二、多态的实现原理 1)虚函数的存储方式 2)子类中虚函数的存储方式 ① 子类将基类中的虚表原封不动的拷贝到自己的…...
cocos creater 3.x 构建QQ小游戏
一、目前 cocos creater 不支持直接构建QQ小游戏,需要构建成微信小游戏,然后修改成QQ小游戏 二、构建QQ小游戏不能勾选 分离引擎 的选项,勾选分离引擎的选项,需要安装cocos微信小游戏引擎插件,这个插件似乎目前只支持微…...
ArcGIS笔记3_如何编辑、修改和导出散点数据
本文目录前言Step 1 在ArcGIS中添加并显示坐标点Step 2 将坐标数据保存成shp文件Step 3 编辑或修改坐标数据Step 4 导出修改后的数据:法一:通过转换工具导出Step 5 导出修改后的数据:法二:通过dBASE表导出前言 本博文更多针对Arc…...
Computer Graphics From Scratch - Chapter 8
系列文章目录 简介:Computer Graphics From Scratch-《从零开始的计算机图形学》简介 第一章: Computer Graphics From Scratch - Chapter 1 介绍性概念 第二章:Computer Graphics From Scratch - Chapter 2 基本光线追踪 第三章:Computer Gr…...
金三银四”不香了?
“金三银四”不香了? “金三银四”这个词,放在三年前,勾勒的是无数踌躇满志的年轻人涌向职场,大中小企业血液更新与流动的鲜活画面。 尤其是互联网行业,这个在过去20多年里极大改变文化交流方式与商业形态的领域&…...
个人开源PCB开发板列表汇总
个人开源PCB开发板列表汇总✨首先感谢立创EDA的免费打样和立创一起开源的广大网页。 🔰STC单片机为主控开源PCB开发板列表 📌STC15F2K60S2开发板:https://oshwhub.com/perseverance51/stc15f2k60s2-ji-tong-ban 📌STC15W408AS系…...
2023美国大学生数学建模竞赛(美赛)思路代码
2023美国大学生数学建模竞赛(美赛)思路&代码报名时间节点比赛说明问题A(数据分析题):收干旱影响的植物群落(MCM)第一问第二问问题B(仿真建模题):重塑马赛…...
makefile简易教程
makefile简易教程 一、学习目标 达到多文件快速编译的需求,相关符号的意思,以及其它注意事项。 二、快速入门 2.1 基本概念 Makefile 是一个在Unix和Linux操作系统上使用的构建工具,用于自动化编译和构建源代码。 2.2 用处 通过Makefi…...
快速入门nginx
目录 1.nginx前言 2.什么是nginx 3.Nginx作用? 1.正向代理 2.反向代理 3.轮询 4.加权轮询 4.Nginx的安装 1.windows下安装 2.linux下安装 5.Nginx常用命令 1.nginx前言 我们公司项目刚刚上线的时候,并发量小,用户使用的少&#…...
为什么每次招人,企业HR和管理者心里都没底?招错人会带来哪些严重后果?
这是众多企业面临的招聘痛点。根据行业数据,企业招错一名员工的平均成本高达该员工年薪的30%-150%,不仅造成直接经济损失,更会导致团队效率下降、管理成本增加、项目延期等一系列连锁反应。许多企业陷入"招聘-试用-不合适-再招聘"的…...
ollama-QwQ-32B中文优化:提升OpenClaw处理本地文档的准确率
ollama-QwQ-32B中文优化:提升OpenClaw处理本地文档的准确率 1. 为什么需要专门优化中文文档处理 去年我在用OpenClaw处理公司合同时,发现一个尴尬现象:同样的合同解析任务,英文版能准确提取条款和日期,中文版却频繁出…...
AI Agent 时代的“将领艺术“:一个人如何指挥一支开发军队
摘要:本文探讨在 AI Agent 时代,开发者如何从"单兵作战"转变为"一人成军",核心在于任务拆分能力、Agent 调度能力和系统集成能力。通过战争将领的类比,提供一套可复用的 Agent 项目管理框架。 关键词&#x…...
Ubuntu 20.04安装MATLAB R2023B保姆级避坑指南:从卸载旧版到选对产品,一步一截图
Ubuntu 20.04安装MATLAB R2023B全流程实战:从彻底卸载到精准选配 在科研与工程计算领域,MATLAB始终保持着不可替代的地位。当最新版的R2023B遇上Ubuntu 20.04这个长期支持版本,如何实现完美部署却让不少用户望而却步。不同于Windows下的图形化…...
ViGEmBus虚拟控制器驱动架构深度解析与高级配置实战指南
ViGEmBus虚拟控制器驱动架构深度解析与高级配置实战指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus ViGEmBus作为Windows内核模式虚拟控制器驱动&#x…...
为什么你的BUCK电路不稳定?峰值电流模式Fm增益的5个关键影响因素
为什么你的BUCK电路不稳定?峰值电流模式Fm增益的5个关键影响因素 在电源设计领域,BUCK电路的稳定性问题一直是工程师们头疼的难题。尤其是采用峰值电流模式控制的BUCK转换器,其调制器增益Fm的合理设置直接关系到整个系统的动态响应和稳定性。…...
NCMconverter完整指南:3步解锁NCM音乐文件的终极播放方案
NCMconverter完整指南:3步解锁NCM音乐文件的终极播放方案 【免费下载链接】NCMconverter NCMconverter将ncm文件转换为mp3或者flac文件 项目地址: https://gitcode.com/gh_mirrors/nc/NCMconverter 你是否曾经遇到过这样的情况:从音乐平台下载了心…...
突破语言壁垒:XUnity.AutoTranslator全场景应用策略
突破语言壁垒:XUnity.AutoTranslator全场景应用策略 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator XUnity.AutoTranslator是一款针对Unity引擎游戏开发的本地化工具,通过实时文本…...
3步接入钉钉机器人:OpenClaw+百川2-13B打造部门问答助手
3步接入钉钉机器人:OpenClaw百川2-13B打造部门问答助手 1. 为什么选择这个组合? 去年我们部门开始尝试用大模型解决内部知识检索问题。最初直接使用网页版对话工具,但遇到三个痛点:一是敏感业务数据不敢上传公有云;二…...
Fast-Android-Networking请求优先级设置终极指南:提升应用性能的10个技巧
Fast-Android-Networking请求优先级设置终极指南:提升应用性能的10个技巧 【免费下载链接】Fast-Android-Networking 🚀 A Complete Fast Android Networking Library that also supports HTTP/2 🚀 项目地址: https://gitcode.com/gh_mirr…...
