day9 python之文件操作
1、文件操作
1.1 基本模式
# 格式 f = open("相对路径/绝对路径",mode = "模式",encoding = "编码级")
# 模式
# w ------> write (不存在则创建,存在则清空,光标在最后)
# r ------> read (不存在则报错,光标在开头,参数为字符)
# a ------> append (不存在则创建,存在则追加,强制光标在最后)
# 1 打开文件
f = open("practice.txt",mode="w",encoding="utf-8")
# 2 写入内容
f.write("我爱中国")
# 3 关闭文件
f.close()
1.2 字节流模式
# bytes(b'123') 只能识别 ascll 编码,需要编码、解码
# wb
# rb
# ab
f1 = open("practice.txt",mode="wb")
f1.write("我爱中国".encode())
f1.close()
f2 = open("practice.txt",mode="rb")
res = f2.read()
f2.close()
print(len(res)) # 计算二进制字节流的长度(12)
res1 = res.decode() # 把二进制字节流解码为utf-8
print(res,res1) # b'\xe6\x88\x91\xe7\x88\xb1\xe4\xb8\xad\xe5\x9b\xbd' 我爱中国
1.2.1 脚本复制图片
# 不指定 encoding
f = open("picture.png",mode = "rb")
res = f.read()
f.close()
f = open("picture副本.png",mode = "wb")
f.write(res)
f.close()
1.3 扩展模式
# r+
# r+ 先读后写
f = open("practice.txt",mode="r+",encoding="utf-8")
# 先读
res = f.read()
print(res)
# 后写
f.write("人生苦短")
# 在读
f.seek(0) # 调整光标位置在开头
res = f.read()
print(res)
f.close()
# r+ 先写后读
f = open("practice.txt",mode="r+",encoding="utf-8")
f.seek(0,2) # 调整光标位置在末尾
f.write("我用python")
f.seek(0)
res = f.read()
print(res)
f.close()
# w+
# a+
# r+b
# w+b
# a+b
1.4 with 语法(不需要close)
# 格式一
with open("相对路径/绝对路径",mode = "模式",encoding = "编码级") as f :
pass
# 格式二
with open("相对路径/绝对路径",mode = "模式",encoding = "编码级") as f1 ,open("相对路径/绝对路径",mode = "模式",encoding = "编码级") as f2 :
pass
1.5 flush 刷新缓冲区
# write 只写到内存
"""
1、文件关闭时,自动刷新缓冲区
2、程序运行结束时,自动刷新缓冲区
3,缓冲区内存写满时,自动刷新缓冲区
"""
# 4、手动刷新刷冲区,f.flush
f = open("practice.txt",mode="w",encoding="utf-8")
while True:
data = input("请输入内容:")
f1.write(data)
f1.flush()
f1.close()
1.6 文件方法
f.seek(0) # 调整光标位置到开头(字节)
f.seek(0,2) # 调整光标位置到最后
f.tell() # 光标位置向左到开头的字节数
f.readable() # 判断文件是否可读
f.writable() # 判断文件是否可写
f.readline() # 读一行
f.readlines() # 读所有行,原型存入列表
f.writelines() # 写入内容是字符串的可迭代的数据
f.truncate() # 截取字节,清空文件,再写入截取内容
day9 python之文件操作的更多相关文章
- Python :open文件操作,配合read()使用!
python:open/文件操作 open/文件操作f=open('/tmp/hello','w') #open(路径+文件名,读写模式) 如何打开文件 handle=open(file_name,a ...
- Python 常见文件操作的函数示例(转)
转自:http://www.cnblogs.com/txw1958/archive/2012/03/08/2385540.html # -*-coding:utf8 -*- ''''' Python常 ...
- 孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容
孤荷凌寒自学python第三十五天python的文件操作之针对文件操作的os模块的相关内容 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 一.打开文件后,要务必记得关闭,所以一般的写法应当 ...
- 孤荷凌寒自学python第三十三天python的文件操作初识
孤荷凌寒自学python第三十三天python的文件操作初识 (完整学习过程屏幕记录视频地址在文末,手写笔记在文末) 今天开始自学python的普通 文件操作部分的内容. 一.python的文件打开 ...
- python中文件操作的六种模式及对文件某一行进行修改的方法
一.python中文件操作的六种模式分为:r,w,a,r+,w+,a+ r叫做只读模式,只可以读取,不可以写入 w叫做写入模式,只可以写入,不可以读取 a叫做追加写入模式,只可以在末尾追加内容,不可以 ...
- python中文件操作的其他方法
前面介绍过Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open('poems','r', ...
- Python常见文件操作的函数示例
# -*-coding:utf8 -*- ''''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() ...
- python的文件操作及简单的用例
一.python的文件操作介绍 1.文件操作函数介绍 open() 打开一个文件 语法:open(file, mode='r', buffering=-1, encoding=None, errors ...
- python基本文件操作
python文件操作 python的文件操作相对于java复杂的IO流简单了好多,只要关心文件的读和写就行了 基本的文件操作 要注意的是,当不存在某路径的文件时,w,a模式会自动新建此文件夹,当读模式 ...
随机推荐
- 使用matplotlib进行可视化
转自:https://blog.csdn.net/qq_30614345/article/details/99049790 https://blog.csdn.net/qq_30614345/arti ...
- 力扣:二叉树着色游戏(DFS详解)
有两位极客玩家参与了一场「二叉树着色」的游戏.游戏中,给出二叉树的根节点 root,树上总共有 n 个节点,且 n 为奇数,其中每个节点上的值从 1 到 n 各不相同. 游戏从「一号」玩家开始(「一号 ...
- 经典卷积神经网络算法(5):ResNet
.caret, .dropup > .btn > .caret { border-top-color: #000 !important; } .label { border: 1px so ...
- java基础-8种基本类型
正文 java中的八种基础类型. boolean:只有两个值,false,true 带符号类型 byte:占用1个字节,一个字节也就是8位,那么由于是最高一位是用来表示 负还是正,所以范围就是 -2^ ...
- 使用json-server与Mockjs搭建模拟服务
为什么使用 在项目开发中,常常需要边写前端页面边写后端接口,但是后端接口服务往往是滞后于前端开发的,或者是不能及时提供的.出于前端开发的迅速和便捷去考虑,我们可以根据后端接口数据结构去模拟(mock) ...
- 前端进阶笔记之核心基础知识---那些HTML标签你熟悉吗?
目录 1.交互实现 1.1 meta标签:自动刷新/跳转 1.2 title标签:消息提醒 2.性能优化 2.1 script标签:调整加载顺序提升渲染速度 2.2 link标签:通过预处理提升渲染速 ...
- MySQL授权--WITH GRANT OPTION
今天在学习MySQL的时候,看到一句描述 WITH GRANT OPTION should be left out if the user need not be able to grant othe ...
- Netty 源码解析(二):Netty 的 Channel
本文首发于微信公众号[猿灯塔],转载引用请说明出处 接下来的时间灯塔君持续更新Netty系列一共九篇 Netty源码解析(一):开始 当前:Netty 源码解析(二): Netty 的 Channel ...
- thinkphp将对象变成一维数组?
thinkphp使用select查询出的数据为二维数组,如果想将二维数组转一维,可以使用: $x为二维数组对象 php版本要大于5.5.0 $userid_array = array_column($ ...
- (一)ELK 部署
官网地址:https://www.elastic.co/cn/ ELK是Elasticsearch.Logstash.Kibana的简称,这三者是核心套件,但并非全部. Elasticsearch ...