python基础篇 08 文件操作
本节主要内容:
1. 初识⽂件操作
2. 只读(r, rb)
3. 只写(w, wb)
4. 追加(a, ab)
5. r+读写
6. w+写读
7. a+写读(追加写读)
8. 其他操作⽅法
9. ⽂件的修改以及另⼀种打开⽂件句柄的⽅式
主要内容:
⼀. 初识⽂件操作
使⽤python来读写⽂件是⾮常简单的操作. 我们使⽤open()函数来打开⼀个⽂件, 获取到⽂
件句柄. 然后通过⽂件句柄就可以进⾏各种各样的操作了. 根据打开⽅式的不同能够执⾏的操
作也会有相应的差异.
打开⽂件的⽅式: r, w, a, r+, w+, a+, rb, wb, ab, r+b, w+b, a+b 默认使⽤的是r(只读)模式
⼆. 只读操作(r, rb)


绝对路径和相对路径:
1. 绝对路径:从磁盘根⽬录开始⼀直到⽂件名.
2. 相对路径:同⼀个⽂件夹下的⽂件. 相对于当前这个程序所在的⽂件夹⽽⾔. 如果在同
⼀个⽂件夹中. 则相对路径就是这个⽂件名. 如果在上⼀层⽂件夹. 则要../
读取文件的方法:
f.read(n) n--->>>>n个字符 如果是rb,则n指字节
将文件全部读取出来,弊端是,占内存,如果文件过大,会导致内存崩溃.
f.readline() 一行一行的读,但是读出来的结尾会有一个\n,需要我们用strip()去掉

注意: 读取完的文件句柄一定要关掉 f.close()
三. 写模式(w, wb)
写的时候注意. 如果没有⽂件. 则会创建⽂件, 如果⽂件存在. 则将原件中原来的内容删除, 再
写入新内容


追加模式,a 写入的内容会加在结尾.
五. 读写模式(r+, r+b)
对于读写模式. 必须是先读. 因为默认光标是在开头的. 准备读取的. 当读完了之后再进⾏
写入. 我们以后使⽤频率最⾼的模式就是r+

还有写读(w+),追加读(a+)等不常用,可以自己了解下
其他操作:
1. seek(n) 光标移动到n位置, 注意, 移动的单位是byte. 所以如果是UTF-8的中⽂部分要
是3的倍数.
通常我们使⽤seek都是移动到开头或者结尾.
移动到开头: seek(0)
移动到结尾: seek(0,2) seek的第⼆个参数表⽰的是从哪个位置进⾏偏移, 默认是0, 表
⽰开头, 1表⽰当前位置, 2表⽰结尾

2. tell() 使⽤tell()可以帮我们获取到当前光标在什么位置
显示的是字节数,中文就是3的倍数
3. truncate() 截断⽂件

深坑请注意: 在r+模式下. 如果读取了内容. 不论读取内容多少. 光标显⽰的是多少. 再写入
或者操作⽂件的时候都是在结尾进⾏的操作.
所以如果想做截断操作. 记住了. 要先挪动光标. 挪动到你想要截断的位置. 然后再进⾏截断
关于truncate(n), 如果给出了n. 则从开头开头进⾏截断, 如果不给n, 则从当前位置截断. 后⾯
的内容将会被删除
九. 修改⽂件以及另⼀种打开⽂件的⽅式
⽂件修改: 只能将⽂件中的内容读取到内存中, 将信息修改完毕, 然后将源⽂件删除, 将新
⽂件的名字改成老⽂件的名字

python基础篇 08 文件操作的更多相关文章
- Python自动化 【第三篇】:Python基础-集合、文件操作、字符编码与转码、函数
1. 集合 1.1 特性 集合是一个无序的,不重复的数据组合,主要作用如下: 去重,把一个列表变成集合实现自动去重. set可以看成数学意义上的无序和无重复元素的集合,因此,两 ...
- Python学习—基础篇之文件操作
文件操作 文件操作也是编程中需要熟练掌握的技能,尤其是在后台接口编写和数据分析过程中,对各种类型的文件进行操作,获取文件信息或者对信息进行存储是十分重要的.本篇博客中将主要对常见的文本格式文件和Exc ...
- 第三章:Python基础の函数和文件操作实战
本課主題 Set 集合和操作实战 函数介紹和操作实战 参数的深入介绍和操作实战 format 函数操作实战 lambda 表达式介绍 文件操作函数介紹和操作实战 本周作业 Set 集合和操作实战 Se ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- Python基础7:文件操作
[ 文件操作] 1 对文件操作流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 现有文件如下: 昨夜寒蛩不住鸣. 惊回千里梦,已三更. 起来独自绕阶行. 人悄悄,帘外月胧 ...
- python学习笔记-(七)python基础--集合、文件操作&函数
本节内容 1.集合操作 2.文件操作 3.字符编码与转码 4.函数操作 1.集合操作 集合是一个无序的.不重复的数据组合: 1.1 常用操作 它的作用是: 1)自动去重:列表变成集合,自动去重: &g ...
- python之路---08 文件操作
二十六. 文件 f = open(文件路径,mode = '模式',encoding = '编码格式') 1.基础 ① 读写时,主要看光标的位置 ②操作完成要写 f.close( ) f.f ...
- python基础3之文件操作、字符编码解码、函数介绍
内容概要: 一.文件操作 二.字符编码解码 三.函数介绍 一.文件操作 文件操作流程: 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 基本操作: #/usr/bin/env ...
- Python基础-week03 集合 , 文件操作 和 函数详解
一.集合及其运算 1.集合的概念 集合是一个无序的,不重复的数据组合,它的主要作用如下 *去重,把一个列表变成集合,就自动去重了 *关系测试,测试两组数据之前的交集.并集.差集.子集.父级.对称差集, ...
随机推荐
- Java字符串常量池是什么?为什么要有这种常量池?
简单介绍 Java中的字符串常量池(String Pool)是存储在Java堆内存中的字符串池.我们知道String是java中比较特殊的类,我们可以使用new运算符创建String对象,也可以用双引 ...
- 【luogu P3931 SAC E#1 - 一道难题 Tree】 题解
题目链接:https://www.luogu.org/problemnew/show/P3931 肉眼观察题目感觉可以跑最大流. 证明是如果拆断一棵树,可以最小割,最小割等于最大流. 注意: 图是无向 ...
- C#4.0 System.Dynamic
System.Dynamic 命名空间提供支持动态语言运行时的类和接口. 代码下载地址:GitHub 本篇主要讲两个类:①ExpandoObject ②DynamicObject (重点) ①E ...
- MVC个层次之间的联系
MVC顾名思义分为三层: M:Model层 Model层中 包含 DAO层和Javabean层: V:view 意为视图层也叫表示层,也可以直接理解为是JSP,用于前端显示: C: ‘控制层’ ...
- 节约内存:Instagram的Redis实践
Instagram可以说是网拍App的始祖级应用,也是当前最火热的拍照App之一,Instagram的照片数量已经达到3亿,而在Instagram里,我们需要知道每一张照片的作者是谁,下面就是Inst ...
- poj 1236 Network of Schools : 求需要添加多少条边成为强连通图 tarjan O(E)
/** problem: http://poj.org/problem?id=1236 缩点后入度为0的点的总数为需要发放软件的学校个数 缩点后出度为0的点的总数和入度为0的点的总数的最大值为需要增加 ...
- 搭建简单的hadoop集群(译文)
本文翻译翻译自http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/ClusterSetup.html 具体的实 ...
- struts2入门第一天----------一个简单例
搭建完环境后就可以动手去打代码了.首先创建一个简单的提交表单的jsp页面(html页面也可以), <%@ page language="java" import=" ...
- React学习(4)——向服务器请求数据并显示
本文中涉及到的技术包括:node.js/express服务器的搭建.fetch发送数据请求. 在之前的几篇文章中,介绍了如何搭建基础的React项目,以及一些简单知识,现在,我们还需要掌握如何用Rea ...
- css表格
今天写某个平台的前端数据展示 主要使用表格展示 正好复习总结一下css的表格 首先说说thead.tbody.tfoot <thead></thead> <tbody&g ...