Py修行路 python基础 (七)文件操作 笔记(随时更改添加)
文件操作流程:
1、打开文件 open()
2、操作文件 read 、write
read(n) n对应读指定个数的
2.x中读取的是字节!
3.x中读取的是字符!
read 往外读取文件,是以光标位置开始的,每读取一个,光标就往后移动一位。
readline() 默认是读取一行的内容。(第一行)
readlines() 读取每一行的内容,组成一个列表。
readable() 判断文件是否是可读的
对文件更改权限 mode 可以变更
默认是读操作:r,encoding 指定编码方式
写操作w encoding 指定解码方式 直接写入会覆盖原文件中的内容!
文件刚打开的时候,会将之前的内容清掉,如果没有文件的话,会先创建一个文件,再在里边儿写入内容!如果文件不关,内容可以一直被写入进去!
追加 a 在光标位置后边进行追加
x 也是写操作,不过是文件没有就创建,有的话会报错,对原文件不会更改
调整光标的位置 f.seek(0) #将光标移到开始位置!不同于read()方法,是按照字节来移动的。
f.seek(1,0)从光标的开始位置往后读取
f.seek(3,1)从当前位置往后读取
f.seek(-3,2)从最后位置往前读取
# 该模式一定按字节操作!
seek的应用:比如断点续传。
显示多少字节 f.tell()
可读可写模式 r+ w+ a+
r+ 光标位置,追加写入
w+ 打开文件的时候,先把之前文件内容清掉,然后再写入内容,
a+ 总是在最后位置添加! 光标直接到最后位置,直接读取读不到任何东西
总结
r w a w:覆盖写 a:追加写
r+:默认光标在开始位置,写一定是追加写
w+:覆盖写,想读取内容:seek调整
a+:光标默认在文件最后位置,不管光标位置,一定是追加写;想读取内容:seek调整
rb wb ab 二进制操作
rb 直接将磁盘中的字节数据放到内存,不需要解码。 wb及ab与rb意思相同,同样的都是将数据以字节的方式写读,不经过解码。
flush操作
刷新操作,立即将缓存内的数据内容存到磁盘
应用:
#进度条:
import sys
(文件,标准输出,在屏幕上输出内容!先把数据放到缓存中,等操作结束之后,再直接输出显示!)sys.stdout.write("hello")
代码如下:
import sys,time for i in range(61):
s = "\r%d%% %s"%(i/60*100,"#"*i)
sys.stdout.write(s)
sys.stdout.flush()
time.sleep(0.5) '\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格,通常敲一个回车键,即是回车,又是换行(\r\n)。
for每循环一次,输出的结果都重新刷新一次,以实现进度条的功能!
with:
with open("文件",模式) as f: #f = open("文件",模式)
f.read()
文件更改
由于文件内容保存之后,就不能再更改。
只能是新建一个文件,从新写入内容,将原文件删掉,把新写的文件重命名。
3、关闭文件 close() 数据操作在文件关闭之前会一直存在内存,等文件关闭的时候,所有变更的数据会一次性的存到磁盘上。
Py修行路 python基础 (七)文件操作 笔记(随时更改添加)的更多相关文章
- Py修行路 python基础 (二十五)线程与进程
操作系统是用户和硬件沟通的桥梁 操作系统,位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进行切换操作: 把CPU的使用权切换给不同的进程. 1.出现IO操作 2.固定 ...
- Py修行路 python基础 (十五)面向对象编程 继承 组合 接口和抽象类
一.前提回忆: 1.类是用来描述某一类的事物,类的对象就是这一类事物中的一个个体.是事物就要有属性,属性分为 1:数据属性:就是变量 2:函数属性:就是函数,在面向对象里通常称为方法 注意:类和对象均 ...
- Py修行路 python基础 (五)三元运算 字符编码 元组 集合 三级菜单优化!
三元运算 条件判断不能加冒号: a=3 b=5 c=a if a<b else b oct() 转成八进制的简写:16进制 标志:BH为后缀或是0x为前缀hex() 转成16进制 元组 跟列表是 ...
- Py修行路 python基础 (十二) 协程函数应用 列表生成式 生成器表达式
一.知识点整理: 1.可迭代的:对象下有_iter_方法的都是可迭代的对象 迭代器:对象._iter_()得到的结果就是迭代器 迭代器的特性: 迭代器._next_() 取下一个值 优点: 1.提供了 ...
- Py修行路 python基础 (二十一)logging日志模块 json序列化 正则表达式(re)
一.日志模块 两种配置方式:1.config函数 2.logger #1.config函数 不能输出到屏幕 #2.logger对象 (获取别人的信息,需要两个数据流:文件流和屏幕流需要将数据从两个数据 ...
- Py修行路 python基础 (十九)面向对象进阶(下)
item系列 __slots__方法 __next__ 和 __iter__实现迭代器 析构函数 上下文管理协议 元类一.item系列 把对象操作属性模拟成字典的格式. 例如:对象名['key'] ...
- Py修行路 python基础 (十一)迭代器 与 生成器
一.什么是迭代? 迭代通俗的讲就是一个遍历重复的过程. 维基百科中 迭代(Iteration) 的一个通用概念是:重复某个过程的行为,这个过程中的每次重复称为一次迭代.具体对应到Python编程中就是 ...
- Py修行路 python基础 (十八) 反射 内置attr 包装
一.isinstance 和 issubclass1.isinstance(obj,cls)检查是否obj是否是类 cls 的对象.2.issubclass(sub, super)检查sub类是否是 ...
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
一.前提介绍: 可以开辟作用域的只有类,函数,和模块 for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...
随机推荐
- css预处理器sass学习
SASS 叫做css预处理器,他的基本思想是用一门专门的编程语言来进行页面样式的设计,然后在编译成正常的css文件. Sass的用法 安装 sass是用ruby语言写的,所以我们在安装sass之前要先 ...
- Selenium学习笔记(1) - 自动化测试体系与原理
技术体系 基于代码的测试(Code-Based Testing) 基于协议的测试(Protocol-Based Testing) 基于界面的测试(GUI-Based Testing) 工作原理 基于代 ...
- 如何用Tomcat部署前端静态文件
在项目开发的过程中,一些公司经常是前后台分开的,并不是所有的前端文件都在后台项目中,尤其是互联网公司.这时候就需要后端人员单独运行前端文件.怎么用Tomcat部署运行前端静态文件呢? 工具/原料 ...
- Job for docker.service failed because the control process exited with error code. See "systemctl status do cker.service" and "journalctl -xe" for details.
问题出现 :入手操作Docker时,安装启动后报了这个错 Job for docker.service failed because the control process exited with e ...
- ARM汇编指令集1
(汇编)指令是CPU机器指令的助记符,经过编译过会得到一串0011组成的机器码,可以由CPU读取执行. (汇编)伪指令本质不是指令(只是和指令一起写在代码中),它是编译器环境提供的,目的是用来指导编译 ...
- python基础之模块二
六 logging模块 6.1 函数式简单配置 import logging #导入模块 logging.debug('debug message') #调试消息 logging.debug('inf ...
- 原创:Angular + controllerAs + CoffeeScript的一个问题,及其解决方案
config是一个待注入的value,它的值是{count: 1} 看代码(用普通函数的写法): $routeProvider.when '/test', template: "Hello ...
- R语言-数据类型与运算符
一.在线安装包 install.packages(package_name) 二.查看变量 ls() 三.删除变量 rm() 四.变量类型 元数据类型:字符,整形,数字,虚数,BOOL 向量:vec= ...
- Python正则表达式使用过程中的小细节
今天用Python写了个简单的爬虫程序,抓取虎扑篮球(nba.hupu.com)的首页内容,代码如下: #coding:gb2312 import urllib2, re webpage = urll ...
- java如何填写简历?(干货篇)
化身孤岛的鲸不才 - 十三夜之月 一份优秀的简历不一定能帮你找到一份满意的工作,但能大大提升你的面试机会. 不容否认,简历是对你的能力.教育和经历的一份简要信息概述. 简历中应该突出你最核心的 ...