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文件操作的更多相关文章

  1. Day05 (黑客成长日记) 文件操作系列

    文件操作: 1.以什么编码方式输出,就以什么编码方式打开 f = open('d:\文件操作.txt',mode='r',encoding='GB2312') G = f.read() print(G ...

  2. python基础——6(字符编码,文件操作)

    今日内容: 1.字符编码: 人识别的语言与机器识别的语言转化的媒介 *****     2.字符与字节: 字符占多少字节,字符串转化 ***     3.文件操作: 操作硬盘中的一块区域:读写操作  ...

  3. 【.NET深呼吸】Zip文件操作(1):创建和读取zip文档

    .net的IO操作支持对zip文件的创建.读写和更新.使用起来也比较简单,.net的一向作风,东西都准备好了,至于如何使用,请看着办. 要对zip文件进行操作,主要用到以下三个类: 1.ZipFile ...

  4. 野路子出身PowerShell 文件操作实用功能

    本文出处:http://www.cnblogs.com/wy123/p/6129498.html 因工作需要,处理一批文件,本想写C#来处理的,后来想想这个是PowerShell的天职,索性就网上各种 ...

  5. Node基础篇(文件操作)

    文件操作 相关模块 Node内核提供了很多与文件操作相关的模块,每个模块都提供了一些最基本的操作API,在NPM中也有社区提供的功能包 fs: 基础的文件操作 API path: 提供和路径相关的操作 ...

  6. 归档NSKeyedArchiver解归档NSKeyedUnarchiver与文件管理类NSFileManager (文件操作)

    ========================== 文件操作 ========================== 一.归档NSKeyedArchiver 1.第一种方式:存储一种数据. // 归档 ...

  7. SQL Server附加数据库报错:无法打开物理文件,操作系统错误5

    问题描述:      附加数据时,提示无法打开物理文件,操作系统错误5.如下图: 问题原因:可能是文件访问权限方面的问题. 解决方案:找到数据库的mdf和ldf文件,赋予权限即可.如下图: 找到mdf ...

  8. 通过cmd完成FTP上传文件操作

    一直使用 FileZilla 这个工具进行相关的 FTP 操作,而在某一次版本升级之后,发现不太好用了,连接老是掉,再后来完全连接不上去. 改用了一段时间的 Web 版的 FTP 工具,后来那个页面也 ...

  9. Linux文件操作的主要接口API及相关细节

    操作系统API: 1.API是一些函数,这些函数是由linux系统提供支持的,由应用层程序来使用,应用层程序通过调用API来调用操作系统中的各种功能,来干活 文件操作的一般步骤: 1.在linux系统 ...

随机推荐

  1. 记一下一道关于finally的题

     题目: public class Test{ public int add(int a,int b){ try { return a+b; } catch (Exception e) { Syste ...

  2. SSAS中雪花模型

    上面的[销售事实表]与[门店]维度.[集团]维度就组成了一个雪花模型. 1.可以把[集团]关联到[门店]的维度上去: 2.如果要把[集团]作为一个单独的维度,先在[维度]里把Dim_Group添加进来 ...

  3. 头部和信号栏一个颜色appcloud

    <header id="header" > <ul > <li class="active" onclick="api. ...

  4. java中 awt Graphics2D

    Graphics2D ,Graphics 类,提供了对几何形状.坐标转换.颜色管理和文本布局更为复杂的控制.它是用于在 Java(tm) 平台上呈现二维形状.文本和图像的基础类.验证码生成可以用到此类 ...

  5. SpringBoot实现登陆拦截

    一.创建interceptor包,在interceptor中创建一个拦截器并实现HandlerInterceptor 代码: @Componentpublic class LoginHandlerIn ...

  6. java定时读取文件

    在项目中经常会用到定时器,在笔试或者面试中也会经常问到定时器和IO流. public class TimerDemo { public static void main(String[] args) ...

  7. win7下如何解决协议适配器错误问题

    数据库为oracle 11g,在cmd中使用sqlplus命令出现了“协议适配器错误”. 原因分析:oracle相关服务没有启动. 解决办法如下: step1:进入服务页面. 方法一:cmd → se ...

  8. 按Home键切换到后台后会触发libGPUSupportMercury.dylib: gpus_ReturnNotPermittedKillClient导致crash

    转自:http://www.eoeandroid.com/thread-251598-1-1.html 好像有很多朋友都碰到过这个问题,即在真机调试时,按hone键返回桌面,再回到app时,app会c ...

  9. Educational Codeforces Round 11 _D

    http://codeforces.com/contest/660/problem/D 这个题据说是很老的题了 然而我现在才知道做法 用map跑了1953ms: 题目大意 给你n个点的坐标 求这些点能 ...

  10. WINDOWS-基础:_T

    _T("")是一个宏,定义于tchar.h下. #define __T(x) L ## x #define _T(x) __T(x) 作用 他的作用是让你的程序支持Unicode编 ...