Python之路Day08
文件操作
open() -- 打开
open通过Python控制操作系统打开文件
f=open('文件路径',mode='r',encoding='utf-8')
mode -- 不写就默认是r
f -- 文件句柄
file -- 文件位置
encoding -- 文件编码
r
print(f.read()) -- 全部读取
文件只能读取一次
print(f.read(3)) -- 按照字符读取(读不到最后一位)
f.readline() -- 读取一行,默认尾部有一个\n
f.readlines() -- 一行一行读取,全部储存在列表中
路径转义:
都改成
"\\"在路径开头加r
路径:
绝对路径:从磁盘(C盘)开始查找
相对路径:相对于某个文件进行查找
rb
f=open('文件路径',mode='rb')
字节操作时,不能指定encoding编码
f.read()
f.read(3) -- 按照字节读取
f.readline()
f.readlines()
r 和rb的区别:
r需要指定encoding,rb不需要
r中的read(3)按照字符读取,rb模式中按照字节读取
read 和 readlines 如果文件较大时,会出现内存溢出
解决方案:文件较大时使用for循环
f=open('文件路径',mode='r',encoding='utf-8')
for i in f:
print(i.strip()) #面试题
w
ff=open('a1',mode='w',encoding='utf-8')
ff.write('123') #写的内容必须是字符串有文件就用当前文件,没有文件就创建一个文件
写的内容必须是字符串
w操作:-- 清空写(写的是文本)
先清空文件(打开文件时清空)
写入内容
wb
清空写(写字节)
ff=open('a1',mode='w')
a
追加写
有文件就用用当前文件,没有就创建一个文件
ab
追加写字节
读写+操作
r+ 读写
f=open('b1',mode='r+',encoding='utf-8')
f=open('b1',mode='r+',encoding='utf-8')
f.write('今天是周一')
print(f.read()) #坑,只能先读后写
w+ 写读
f.seek() -- 移动光标
f=open('b1',mode='r+',encoding='utf-8')
f.write('今天是周一')
f.seek(0)
print(f.read())
a+ 追加写、读
坑:永远在末尾加,移动光标写内容还是在末尾追加
f=open('b1',mode='r+',encoding='utf-8')
f.write('今天是周一')
f.seek(0)
f.write('啊啊啊啊')
print(f.read())
其他操作
f.seek() -- 移动光标(光标是按照字节移动)
seek(0,0) -- 移动光标到文件头部
seek(0,1) -- 移动光标到当前位置
seek(0,2) -- 移动光标到文件末尾
f.tell() -- 查看光标(按照字节计算)
修改文件:
import os #操作系统交互接口
考点:
创建一个新的文件
读取旧的文件内容
进行替换修改
将修改的内容写入到新的文件中
将文件关闭
将文件名进行修改
将文件中全部内容读取容易导致内存溢出
with open('a1','r',encoding='utf-8')as f:
自动关闭文件
同时操作多个文件
with open('a1','r',encoding='utf-8')as f,open('a2','r',encoding='utf-8')as f1:
#上下文管理
文件操作目的
持久化:永久存储
Python之路Day08的更多相关文章
- 初学python之路-day08前期总结
# 1# 计算机原理:控制器 运算器 存储器 input设备 output设备 IO流# 三大核心:CPU 内存 硬盘 # 内存分布:栈区 与 堆区# 如二进制与十进制的转换,如1111转成十进制为1 ...
- 初学python之路-day08
#学习了编码后,还要了解三种字符串.# 一.# 普通字符串:u''以字符作为输出单位,# print(u'abc') # 用于显示abc# # 二进制字符串:b'' 二进制字符串以字节作为输出单位# ...
- Python之路【第一篇】python基础
一.python开发 1.开发: 1)高级语言:python .Java .PHP. C# Go ruby c++ ===>字节码 2)低级语言:c .汇编 2.语言之间的对比: 1)py ...
- Python之路
Python学习之路 第一天 Python之路,Day1 - Python基础1介绍.基本语法.流程控制 第一天作业第二天 Python之路,Day2 - Pytho ...
- python之路 目录
目录 python python_基础总结1 python由来 字符编码 注释 pyc文件 python变量 导入模块 获取用户输入 流程控制if while python 基础2 编码转换 pych ...
- Python之路【第十九篇】:爬虫
Python之路[第十九篇]:爬虫 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本.另外一些不常使用 ...
- Python之路【第十八篇】:Web框架们
Python之路[第十八篇]:Web框架们 Python的WEB框架 Bottle Bottle是一个快速.简洁.轻量级的基于WSIG的微型Web框架,此框架只由一个 .py 文件,除了Pytho ...
- Python之路【第十七篇】:Django【进阶篇 】
Python之路[第十七篇]:Django[进阶篇 ] Model 到目前为止,当我们的程序涉及到数据库相关操作时,我们一般都会这么搞: 创建数据库,设计表结构和字段 使用 MySQLdb 来连接 ...
- Python之路【第十六篇】:Django【基础篇】
Python之路[第十六篇]:Django[基础篇] Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...
随机推荐
- 使用 Apache James 3.3.0(开源免费) 搭建外网电子邮件服务器(基于 Windows + Amazon Corretto 8)
对于邮件服务器的安装,请先参阅: 使用 Apache James 3.3.0(开源免费) 搭建内网电子邮件服务器(基于 Windows + Amazon Corretto 8) https://www ...
- myeclipce 按 Alt + / 代码提示无法感应自己定义的类 解决方案
解决方案:如图把这些选项全部都勾选即可.(注意 :需先排除是不是快捷键冲突,我遇到的问题是Alt+/可以提示jdk内置的对象和方法,但是无法提示自定义的类和方法.如Alt+/无法提示任何信息 需重新设 ...
- 回炉重造之重读Windows核心编程-001-错误处理
Windows处理错误靠的是API的返回值,类型不止一种种: VOID,函数不可能失败,Windows API的返回值很少是这个情况. BOOL,如果函数失败,则返回值是0,否则返回是非零值.不要测试 ...
- 纪中某日c组模拟赛 2314. 最短路
2314. 最短路 (File IO): input:dti.in output:dti.out 时间限制: 1000 ms 空间限制: 262144 KB 具体限制 Goto Problem ...
- vue实现打印功能
通过npm 安装插件 1.安装 npm install vue-print-nb --save 2.引入 安装好以后在main.js文件中引入 import Print from 'vue-pri ...
- string_random
1.随机数 import random 0-1间的随机浮点数,random.random() 指定区间随机浮点数,random.uniform(a,b) 指定区间随机整数(闭区间),random.ra ...
- HTML(多行)文本超过部分隐藏,末尾显示(...)
HTML(多行)文本超过部分隐藏,末尾显示(...) <!DOCTYPE html> <html> <head> <meta charset="ut ...
- Umi 小白纪实(一)—— 创建项目&常用配置
umi 是一个企业级 react 应用框架,也是蚂蚁金服的底层前端框架 <蚂蚁金服的前端框架和工程化实践> 一.安装脚手架 在创建项目之前,需要保证有 node 8.10 以上的环境 可以 ...
- The ADB binary found at ... 虚拟机运行错误
虚拟机问题,可以说差点扼杀我开发 APP 的乐趣,哼,最后请教了一下辉哥(学长),终于解决 —— 用真机调试.下面是步骤: 首先,检查一下真机连接需要的 SDK 是否安装,未安装,勾选进行安装 接着用 ...
- P5443 [APIO2019]桥梁 [分块+并查集]
分块+并查集,大板子,没了. 并查集不路径压缩,可撤销,然后暴力删除 这样对于每个块都是独立的,所以直接搞就行了. 然后块内修改操作搞掉,就是单独的了 // powered by c++11 // b ...