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+ ...
随机推荐
- 浅谈 Angular 项目实战
为什么使用 Angular 我不是 Angular 的布道者,但如今痴迷 Angular,使用 Angular 做项目让我有一种兴奋感.目前的三大主流前端框架都研究过,博客中也有三者的相关教程,最早接 ...
- SpringBoot通过RedisTemplate执行Lua脚本
如果你对Redis和Lua的关系不太清楚,请先阅读:Redis进阶之使用Lua脚本开发 1.RedisScript 首先你得引入spring-boot-starter-data-redis依赖,其次把 ...
- Android Studio3.x上使用Lombok
1.添加gradle依赖 implementation 'org.projectlombok:lombok:1.16.8' //添加lombok依赖implementation 'org.glassf ...
- JS 设计模式七 -- 模板方法模式
概念 模板方法模式是一直昂只需使用继承就可以实现的非常简单的模式. 模板方法模式由两部分结构组成,第一部分是抽象父类,第二部分是具体实现的子类. 实现 模板方法模式一般的实现方式为继承. // 体育运 ...
- stream流操作List工具类
工作中操作List对于程序猿来说是"基本操作",为了更加便利,对JDK8的新特性stream流进行二次封装.话不多说,直接上代码 package com.mydemo; impor ...
- 完全理解 Python 迭代对象、迭代器、生成器(转)
完全理解 Python 迭代对象.迭代器.生成器 本文源自RQ作者的一篇博文,原文是Iterables vs. Iterators vs. Generators » nvie.com,俺写的这篇文章是 ...
- Xshell配合Screen之ssh会话永不断开
[转]Xshell配合Screen之ssh会话永不断开 - 海运的博客
- 【XSY3344】连续段 DP 牛顿迭代 NTT
题目大意 对于一个长度为 \(n\) 的排列 \(p\),我们称一个区间 \([l,r]\) 是连续的当且仅当 \((\max_{l\leq i\leq r}a_i)-(\min_{l\leq i\l ...
- hihoCoder #1954 : 压缩树(虚树)
题意 有一棵 \(n\) 个节点且以 \(1\) 为根的树,把它复制成 \(m\) 个版本,有 \(q\) 次操作,每次对 \([l, r]\) 这些版本的 \(v\) 节点到根的路径收缩起来. 收缩 ...
- OpenStack视图
OpenStack视图 OpenStack视图是个全局资源的概念,统计了OpenStack所纳管资源的总量和使用量,因此OpenStack视图的资源通常又称为物理资源.OpenStack基于该资源使用 ...