Day09文件操作
1.什么是文件
文件:操作系统为应用程序或者用户提供的一种操作硬盘的虚拟单位
强调:①文件是操作系统提供的虚拟单位②应用程序或者用户对文件的读写操作其实都是向操作系统发送指令
2.为什么要用文件
文件对应的是硬盘,如果要永久保存数据,就必须使用文件
3.如何用文件
①打开文件②读or写③关闭文件
open(文件路径,模式,编码方式) 路径分隔符:windows系统 linux系统/ rawstring 路径前加r,原始字符串
4.为什么要关闭文件
open向操作系统发起请求,操作系统操作硬盘,映射出一片硬盘空间,open有返回值,open在应用程序内占用一片内存空间,在操作系统中也占有一片空间
应用程序,python解释器有垃圾回收机制,会回收应用程序的内存而操作系统占用的内存需使用命令关闭
5.如何关闭文件
f.close()向操作系统发指令,让操作系统关闭打开的文件,回收操作系统资源,但f对应的应用程序未结束,故此时可以打印f,但无法对f进行读写操作,因为f对应的文件在操作系统中关闭了
ps:f.read()向操作系统发起请求,windows操作系统默认为gbk编码,以utf-8存的数据,open时未指定编码规则会报错
6.文件打开的上下文管理器
with open其中with会帮我们自动关闭文件
7.文件读写的操作模式:r,w,a;控制文件读写操作内容的模式:t(文本模式)b(bytes)二进制
t模式会将硬盘的二进制数据转换成unicode二进制
t,b模式不能单独使用,必须与r,w,a连用
r只读模式,文件不存在会报错;文件存在,指针跑到文件开头
w只写模式,文件不存在新建文件;文件存在会清空文件,指针跑到文件开头
a只追加写模式,文件不存在会新建文件;文件存在指针跑到文件末尾
t模式无论读写都是以字符串为单位,只能操作文本文件,一定要指定encoding参数
b模式无论读写都是以二进制位单位,可以操作所有类型的文件,一定不能指定encoding参数
readlines()全读出来,存成列表,有换行的,会识别出换行符
readline()逐行读,字符串
read()以字符串形式全读出来
\n,换行 \r回到行首 windows换行符\r\n open函数统一将换行符转换成\n
writelines(iterable)原理for参数,将参数逐行写入
8.修改文件的两种方式
1.全部读入内存
①以读的方式打开源文件②将文件内的内容一次性读入内存,在内存中完成修改③以写的方式打开源文件,将修改后的内容写回文件
2.逐行读入内存
①以读的方式打开源文件,以写的方式打开临时文件②将源文件逐行读入内存,修改后写入临时文件③删除源文件,将临时文件重命名为源文件
Day09文件操作的更多相关文章
- Day05 (黑客成长日记) 文件操作系列
文件操作: 1.以什么编码方式输出,就以什么编码方式打开 f = open('d:\文件操作.txt',mode='r',encoding='GB2312') G = f.read() print(G ...
- python基础——6(字符编码,文件操作)
今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 ***** 2.字符与字节: 字符占多少字节,字符串转化 *** 3.文件操作: 操作硬盘中的一块区域:读写操作 ...
- 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档
.net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...
- 野路子出身PowerShell 文件操作实用功能
本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...
- Node基础篇(文件操作)
文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...
- 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)
========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...
- SQL Server附加数据库报错:无法打开物理文件,操作系统错误5
问题描述: 附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...
- 通过cmd完成FTP上传文件操作
一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...
- Linux文件操作的主要接口API及相关细节
操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...
随机推荐
- JMeter BeanShell示例
翻译:https://blog.trigent.com/jmeter-blog-series-jmeter-beanshell-example 在这个例子中,我们将演示在Apache JMeter中使 ...
- GYM 101889J(枚举、环上gcd)
答案只有n - 1种暴举即可,对于每种,gcd是一那踩雷稳了,否则看雷的分布有没有把模余占满. const int maxn = 1e5 + 5; int n, ans; char str[maxn] ...
- DB2 错误码解析
DB2 错误代码大全——SQLSTATE 消息 SQLSTATE 消息本节列示 SQLSTATE 及其含义.SQLSTATE 是按类代码进行分组的:对于子代码,请参阅相应的表. 表 2. SQLS ...
- python入门之前面内容拾遗
int n1 = 123 #根据int类,创建了一个对象 n2 = int(123) #根据int类,创建了一个对象,这里实际上调用了int类里的内置函数__int__(x,2),其中x为定义的对象, ...
- python语法:
1 #开始注释,‘’‘ ‘’’可以看做是文本字符串也可以看做是块注释:”:“开始后的缩进视为一个代码块类似{}:缩进没有规定,但一般4个空格,注意:粘贴复制代码一定要检查缩进:大小写敏感: 2 数据 ...
- Ajax返回数据格式
Ajax中返回数据的格式 Ajax中常见的返回数据的格式有三种:分别为文本,XML和JSON 返回的文本格式我们在上一堂课Ajax基础介绍中已经介绍过了 Ajax.php Form.html:通过 ...
- Django2.0路由补充之path,re_path及视图层
以下是Django2.0版本 正则捕获到的参数都是字符串,所以如果函数需要用的其他数据类型,可以在函数中直接转换,也可以在路由中直接转换,如下: 下面实例是匹配整数,传过去的参数就是整数 from d ...
- 1、二维数组中的查找------------>剑指offer系列
题目 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. ...
- 【数据分析 R语言实战】学习笔记 第十一章 对应分析
11.2对应分析 在很多情况下,我们所关心的不仅仅是行或列变量本身,而是行变量和列变量的相互关系,这就是因子分析等方法无法解释的了.1970年法国统计学家J.P.Benzenci提出对应分析,也称关联 ...
- moment算本月开始日期和结束日期
moment算本月开始日期和结束日期 1.引入moment.js var vStartDate=new moment().add('month',addMonth).format("YYYY ...