day08 文件操作
1、三种字符串:
(1)u'' 普通字符串 ---> u'abc' ---> 默认的文本方式,以字符作为文本的输出方式
(2)b'' 二进制字符串 ---> b'ASCII码' ---> 以二进制(字节)作为文本输出方式,且文本内容必须为ASCII码
(3)r'' 原义字符串 ---> r'\n\t' ---> 将引号中的转移字符串以原本的意义表示出来(多用于文件路径的表示) 2、文件操作步骤
(1)通过文件名等从硬盘中找到相应的文件地址,使操作系统就有文件的操作权
(2)使用应用程序对文件进行操作
(3)操作完成后,应用程序向操作系统发送请求,使其释放文件的操作权 3、打开文件的方式
(1)使用open打开文件
f = open("文件路径及文件名","文件打开模式",enconding="utf-"8)
(2)使用with open...as 的方式进行文件操作
with open("文件路径及文件名","文件打开模式",enconding="utf-8") as f:
(3)使用with open 进行文件操作时,嵌套使用
with open("文件路径及文件名","操作模式",enconding="utf-8") as f1:
with open("文件的路径及文件名","操作模式",enconding="utf-8") as f2:
对文件的操作 4、文件的操作模式
主模式: r | w | a | x
从模式: t | b | + (1)r ---> 基本读操作
with open("文件路径及文件名","r",enconding="utf-8") as f1:
f1.read() --> 将整个文件读取进内存
f1.readline() --> 读取一行文件
f1.readlines() --> 将每行内容依次添加进列表中,并返回列表
对文件进行读操作,如果文件不存在则报错
# 如果想要一行一行的读取文件,可以使用for循环 ---> 重要点
for line in f1:
print(line) (2)w ---> 基本写操作
with open("文件路径及文件名","w",enconding="utf-8") as f1:
f1.write("哈哈")
f1.writerlines([必须为可迭代的对象,并且内容为字符串]) 对文件进行写操作,如果文件不存在则创建文件,如果文件存在,则清空文件从头开始写 (3)a ---> 追加操作
with open("文件路径及文件名","a",enconding="utf-8") as f1:
采用追加的方式对文件进行写操作,默认从文件的结尾添加 (4)x ---> 写操作,文件不存在创建,文件存在报错
with open("文件路径及文件名","x",enconding="utf-8") as f1:
如果文件存在则报错,如果文件不存在则创建文件并写入 t ---> 以文本方式进行文件的操作,是文件操作的默认方式, rt = r
(5) rt 以普通方式进行文件读操作,如果文件不存在则抱错问题 ---> 与 r 相同
(6) wt 以普通字符串的方式对文件进行写操作,如果文件存在则清空后写入,如果文件不存在则创建文件后写入 --> 与 w 相同
(7) at 以普通文本方式对文件进行追加操作,,默认写到文件的末尾 --->与 a 相同 b ---> 以字节的方式对文件进行操作
with open("文件路径及文件名","wb") as f1:
f1.write()
(8) rb 以字节的方式对文件进行读操作,如果文件不存在则报错
(9) wb 以字节的方式对文件进行操作,如果文件存在则清空后添加,如果文件不存在则创建文件
(10) ab 以字节的方式对文件进行操作,默认添加到文件的末尾 + ---> 以读写的方式对文件进行操作
(11) r+ 可读可写的读,如果文件不存在则报错,【如果文件存在则从头开始替换写】
(12) w+ 可读可写的写,如果文件存在则清空写,如果文件不存在则进行创建文件后进行写入
(13) a+ 可读可写的追加,如果文件不存在则进行创建,如果文件存在则在末尾进行添加 5、游标操作
游标由于是以字节作为移动的单位,所以文件必须是b模式,又因为只有在读取文件时才有游标,所以,文件的游标概念只有在 rb 模式下才能起作用
游标操作使用seek()方法,seek('移动的位数','起始的位置')
起始的位置主要有三个: 0 --> 文档开头
1 --> 当前位置
2 --> 文档末尾
with open("3.txt", "rb") as f:
f.seek(-2, 2)
print(f.read(2)) 6、文档的复制
with open("3.txt","r",encoding="utf-8") as f1:
with open("4.txt","w",encoding="utf-8") as f2:
for line in f1:
f2.write(line) 7、enconding编码
在使用 t 模式进行文件操作时,需要标明编码方式,enconding="utf-8"
在使用 b 模式进行文件操作时,不能标明编码方式,否则会报错
day08 文件操作的更多相关文章
- day08——文件操作
day08 文件操作: open() :打开 f (文件句柄)= open("文件的路径(文件放的位置)",mode="操作文件的模式",encoding=&q ...
- day08文件操作的三步骤,基础的读,基础的写,with...open语法,文件的操作模式,文件的操作编码问题,文件的复制,游标操作
复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int:int('10') | int('-10') | int('0') | float('-.5 ...
- day08文件操作
今日内容 文件操作 内容详细 1.打开文件 1.open("作业讲解.py",mode="r",encoding="utf-8") 2.文件 ...
- Python集训营45天—Day08 (文件操作)
目录 1. 文件操作介绍 2. 文件的读写 2.1 文本文件 2.2 二进制文件 2.3 JSON文件 3. 文件的定位,重命名和删除 4. 文件夹的相关操作 1. 文件操作介绍 大家应该听说过一句话 ...
- python day08 文件操作
2019.4.8 S21 day08笔记总结 一.进制 对于计算机而言无论是文件存储 / 网络传输数据本质上都是:二进制(010101010101),如:电脑上存储视频/图片/文件都是二进制: QQ/ ...
- Python:Day08 文件操作
能调用方法的一定是对象! 文件的操作分为三步: 1.打开文件 2.操作文件 3.关闭文件 f= open('小重山','r',encoding='utf8') #以读的方式打开一个文件,如果文件不存在 ...
- 铁乐学Python_day08_文件操作
一.[基本的文件操作] 参数: 1.文件路径: 2.编码方式: 3.执行动作:(打开方式)只读,只写,追加,读写,写读! #1. 打开文件,得到文件句柄并赋值给一个变量 f = open('E:/Py ...
- day08(字符编码,字符与字节,文件操作)
一,复习 ''' 类型转换 1.数字类型:int() | bool() | float() 2.str与int: int('10') | int('-10') | int('0') | float(' ...
- day08 python文件操作
day08 python 一.文件操作 1.文件操作的函数 open(文件名, mode=模式, encoding=字符集) 2.模式: r, w, a, r+ ...
随机推荐
- 一键发布部署vs插件[AntDeploy]开源了
deploy to remote server by one button click 功能 支持docker一键部署(支持netcore) 支持iis一键部署(支持netcore和framework ...
- Friendly Date Ranges 让日期区间更友好
把常见的日期格式如:YYYY-MM-DD 转换成一种更易读的格式. 易读格式应该是用月份名称代替月份数字,用序数词代替数字来表示天 (1st 代替 1). 记住不要显示那些可以被推测出来的信息: 如果 ...
- JMC监控(Windows上远程连接监控Linux服务器的JVM)
Windows上远程连接监控Linux服务器的JVM:1.Linux服务器上配置:在Tomcat的tomcat-wms/bin/catalina.sh中添加CATALINA_OPTS="-X ...
- C/C++音视频库ffmpeg的数据包AVPacket分析
ffmpeg下载地址 http://www.ffmpeg.club/ AVPacket是ffmpeg用来存放编码后的视频帧数据,我们来分析一下这个结构体,先贴出ffmpeg3.2中AVPacket声明 ...
- ctx中的body无法找到
学习koa的时候看到廖雪峰大大的文章 其中有一段写的总是报错找不到name 代码如下 router.get('/', async (ctx, next) => { ctx.response.bo ...
- JetBrain系列IDE提示Filesystem Case-Sensitivity Mismatch的解决
目录 解决方法 1. 用文本编辑器修改APP包文件中的属性文件(不推荐) 2. 复制或新建属性文件到APP的启动目录,添加对应的属性项(推荐) 解决方法1 1. 用文本编辑器修改APP包文件中的属性文 ...
- Luogu4492 [HAOI2018]苹果树 【动态规划】
题目分析: 思路不难想,考虑三个dp状态$f,g,d$. $g[i]$表示有$i$个点的堆的数量 $d[i]$表示有$i$个点的情况下所有的方案数中点到根的距离和 $f[i]$表示要求的答案. 不难发 ...
- 怎么用MATLAB产生FPGA所需的hamming窗系数
需求 在FPGA处理中如果需要对待处理数据加窗,则需要窗系数存储在ROM中以供使用. 前言 MATLAB窗函数说明 流程 比如加个hamming窗,8192点,16bit放大,最终系数18bit位宽. ...
- BZOJ 1815: [Shoi2006]color 有色图(Polya定理)
题意 如果一张无向完全图(完全图就是任意两个不同的顶点之间有且仅有一条边相连)的每条边都被染成了一种颜色,我们就称这种图为有色图. 如果两张有色图有相同数量的顶点,而且经过某种顶点编号的重排,能够使得 ...
- FTP文件上传并支持断点续传(一)—— win10 本地环境 ftp站点构建
由于之前项目开发是采用是采用的FTP文件上传,就一直想学习,但由于FTP服务器是公司的,为了方便就像把本地变成ftp站点,其实很简单,但也有很多坑 这里简单介绍一下自己遇到的坑 一:开通本地的ftp权 ...