python_0基础开始_day08
第八节
1,文件操作
文件操作目的: 持久化,永久存储 (数据库之前 -- 文件操作就是代替数据库)
读
1,找到文件位
2,双击打开
3,进行一些操作
4,关闭文件
open() 打开,通过python控制操作系统进行打开
file 文件的位置
mode 默认不写就是r
encoding 文件的编码
f 文件句柄
文件只能读取一次
f = open("D:\Python_s25\day08\小姐姐电话号",mode="r",encoding="utf-8")print(f.read())# 全部读取print(f.read(4))#按照字符读取print(f.readline())# 默认尾部有一个\n,读取一行print(f.readline().strip()) #\n去除print(f.readlines())# 一行一行读取,全部储存到列表中
绝对路径:具体到文件的精确位置,具体到名字
相对路径:具体到文件的文件夹,
路径转义:r" "
读字节
字节操作 不能指定encoding编码
f = open("timg.jpg",mode="rb")print(f.read()) # 全部读取print(f.read(3)) # 按照字节读取print(f.readline()) # 按照行进行读取print(f.readlines()) # 一行一行读取,全部储存到列表中r和 r b的区别:
1,r需要指定encoding,r b不需要
2,r模式中的read(3) 按照字符读取,,r b模式中的read(3) 按照字节读取
写
w操作 —— 清空写,写的是文本
1,先清空文件
2,写入内容
注:当模式为a和w时,有文件就使用当前文件,没有就新建一个
ff = open("a1",mode="w",encoding="utf-8")ff.write("123") # 写的内容必须是字符串ff = open("a1",mode="w",encoding="utf-8")ff.write("我是一个字符串串") # 写的内容必须是字符串ff = open("a1",mode="w",encoding="utf-8")ff.write("[1,2,3,4]\n") # 写的内容必须是字符串ff.write('1111\n') # 写的内容必须是字符串ff.write('2222\n') # 写的内容必须是字符串ff = open("a1",mode="w",encoding="utf-8")ff.write("[1,2,3,4]\n") # 写的内容必须是字符串ff.write('1111\n') # 写的内容必须是字符串ff.write('2222\n') # 写的内容必须是字符串w b —— 清空写,写字节
f = open('timg.jpg',mode="rb")f1 = open("g1.jpg",mode="wb")content = f.read()f1.write(content)
追加—— a
f = open("b1",mode="a",encoding="utf-8")f.write("你好啊\n")f.write("我好啊\n")f.write("他好啊\n")f.write("大家好啊\n")3.
加操作
r + (有点用)# 正确的操作:f = open("b1",mode="r+",encoding="utf-8")print(f.read())f.write("今天是周一")w+ 写读 (有点用)f = open("b1",mode="w+",encoding="utf-8")f.write("今天是周一")f.seek(0) # 移动光标print(f.read())a+ 追加读 # 坑f = open("b1",mode="a+",encoding="utf-8")f.write("今天是周一")f.seek(0) # 移动光标f.write("啊啊啊啊")print(f.read())a+ 追加读 # 坑f = open("b1",mode="a+",encoding="utf-8")f.write("今天是周一")f.seek(0) # 移动光标f.write("啊啊啊啊")print(f.read())其他操作:
seek() 移动光标
f.seek(0,0)
移动光标到文件的头部# f.seek(0,1)
移动光标到当前位置# f.seek(0,2)
移动光标到文件末尾# f.seek(6)
光标是按照字节移动
# 考点:import os # 操作系统交互的接口f = open('a2',"r",encoding="utf-8")f1 = open("a1","w",encoding="utf-8")i = f1.read().replace("天","日") # 将文件中全部内容读取 容易导致内存溢出f1.write(i)f.close()f1.close()os.rename("a2","a3")os.rename("a1","a2")with open("a3","r",encoding="utf-8")as f,\ open('a2',"r",encoding="utf-8")as f1: print(f.read()) print(f1.read())# 1.自动关闭文件# 2.同一时间操作多个文件
python_0基础开始_day08的更多相关文章
- python_0基础学习_day02
第二节 一,while while也称为无限循环.死循环 while 条件: 缩进 循环体 应用领域:音乐播放:单曲循环,列表循环,随机播放(也是有规律的) 登陆界面:…… 数学计算:1~100的和, ...
- python_0基础学习_day01
Python是一门动态解释型的强类型定义语言 一.变量 变量命名规则 由数字.字母.下划线组成 不能以数字开头 要具有描述性 要区分大小写 禁止使用python的关键字(在pycharm中关键字明明变 ...
- python_0基础开始_day07
第七节 1,基础数据类型补充 str: print(str.capitalize()) —— 首字母大写 print(str.title()) —— 每个单词的首字母大写 print(str.swap ...
- python_0基础开始_day06
第六节 1.小数据池 ==,is,id ==:查看等号两边的值是否一样 a = 9b = 9print(a == b) # 返回Truec = "dog"d = "dog ...
- python_0基础开始_day03
第三节 一.整形和布尔值的转换 int整型 python3: 全部都是整型 python2: 整型,长整型long 十进制转换二进制 # 将十进制的168转换为二进制 #得出结果 将十进制的168转 ...
- python_0基础开始_day05
第五节 一.字典 python的数据结构之一 字典 —— dict 定义:dic = {"key":"dajjlad"} 作用:存储数据,大量,将数据和数据起到 ...
- python_0基础开始_day04
第四节 一.列表 list 数据类型之一,存储大量的,不同类型的数据 列表中只要用逗号隔开的就是一个元素 有序可变的. 1.1列表的索引 列表和字符串一样也拥有索引,但是列表可以修改: lst = [ ...
- python_0基础开始_day13
第十三节 一,匿名函数 匿名函数 == 一行函数 lambda == def == 关键字 函数体中存放的是代码 生成器体中存放的也是代码 就是yield导致函数和生成器的结果不统一 lambda x ...
- python_0基础开始_day12
第十二节 一,生成器 生成器的核心:生成器的本质就是迭代器 迭代器是python自带的 生成器是程序员自己写的一种迭代器 在python中有三种方式来创建生成器: 基于函数编写 推导式方式编写 pyt ...
随机推荐
- Latex里的引用定理只出现编号,不出现定理名?
在前面先定义了: \newtheorem{prb}{Problem Formulation} 然后: \begin{prb} \label{problem} xx\end{prb}效果: Proble ...
- JDBC之——原理和连接数据库
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- VUE中让由全局变量添加生成的新数组不随全局变量的变化而变化
问题场景: const addOptions = { singleOrComplex, totalNum: this.smallTotalPrice, selectList: this.purchas ...
- Error in render: "TypeError: Cannot read property 'url_img' of undefined"
如果我们 vue 组件中 template 里面添加了下标(靠数组索引得到的值),就会报索引为 undefined 解决方法: 在我们使用下标时,要在父组件上做条件判断,如果这个下标存在,然后就显示里 ...
- Orcal数据类型总结
一.Oracle中的varchar2类型 我们在Oracle数据库存储的字符数据一般是用VARCHAR2.VARCHAR2既分PL/SQL Data Types中的变量类型,也分Oracle Data ...
- 前端性能之Chrome的Waterfall
浏览器根据HTML中外连资源出现的顺序,依次放入队列(队列),然后根据优先级确定向服务器获取资源的顺序.同优先级的资源根据HTML中出现的先后顺序来向服务器获取资源. 瀑布中各项内容的含义: 排队: ...
- 依赖注入框架之butterknife
主页: https://github.com/JakeWharton/butterknife 用途: 主要用来简化各种初始化控件的操作 配置: 1. 在app/build.gradle文件中depen ...
- [java][转]安装ADT的时候,提示“Cannot complete the install because one or more required items could not be
今天在安装ADT的时候,提示“Cannot complete the install because one or more required items could not be found. S ...
- Java爬虫爬取京东商品信息
以下内容转载于<https://www.cnblogs.com/zhuangbiing/p/9194994.html>,在此仅供学习借鉴只用. Maven地址 <dependency ...
- 阶段3 3.SpringMVC·_06.异常处理及拦截器_1 SpringMVC异常处理之分析和搭建环境
异常一级一级的抛出 前端控制器,调用异常处理器组件 搭建环境 注意下面两个的结尾的名称要个 Module Name对应起来. 导入开发的坐标 复制upload这个项目里面的 编程和生成 改成1.8 配 ...