python(文件操作)
一、文件操作
1.tell()方法返回文件的当前位置,即文件指针当前位置。
- UTF-8 编码格式,一个中文占3个字符
- GBK 编码格式,一个中文占2个字符
#写入前文件内容如下
"""
秦时明月汉时关
万里长征人未还
但使龙城飞将在
不教胡马度阴山
""" f = open("music","r",encoding="utf8")
print(f.tell())
print(f.read(5))
print(f.tell())
f.close() #打印出结果如下
"""
0 #初始指针在文件头,也就是位置为0的位置上
秦时明月汉 #打印出5个汉字
15 #此时指针位置在15
"""
2.seek()指针从哪里开始写入
file.seek(offset[, whence])
offset -- 开始的偏移量,也就是代表需要移动偏移的字节数
- whence:可选,默认值为 0。给offset参数一个定义,表示要从哪个位置开始偏移;0代表从文件开头开始算起,1代表从当前位置开始算起,2代表从文件末尾算起。
#seek() 参数 whence 默认为 0
f = open("music","r",encoding="utf8")
print(f.read(5))
f.seek(3)
print(f.read(2))
f.close() #结果如下
"""
秦时明月汉
时明
"""
#seek() 参数 whence 为 1
#文件内容如下
"""
秦时明月汉时关
""" f = open("music","rb") #读取模式需为 "rb"
print(f.read(3).decode("utf8")) #读取出的内容解码为 utf8
f.seek(3,1)
print(f.read(3).decode("utf8"))
f.close() #结果如下
"""
秦
明
"""
#seek() 参数 whence 为 2
#文件内容如下
"""
秦时明月汉时关
""" f = open("music","rb") #读取模式需为 "rb"
print(f.read(3).decode("utf8")) #打印出的结果为汉字需要解码为 utf8
f.seek(-9,2) #指针改成倒数第三个汉字前进行读取
print(f.read(6).decode("utf8")) #从指针位置向后读取两个汉字
f.close() #结果如下
"""
秦
汉时
"""
3.flush()
- 方法是用来刷新缓冲区的,即将缓冲区中的数据立刻写入文件,同时清空缓冲区,不需要是被动的等待输出缓冲区写入。
- 一般情况下,文件关闭后会自动刷新缓冲区,但有时你需要在关闭前刷新它,这时就可以使用 flush() 方法。
import time
f = open("music","w",encoding="utf8")
f.write("hello world") #此时写入的内容在(缓冲区)缓存中,并未写入到磁盘中,需要执行后面的 f.close() 才会将内容从缓存中写入到磁盘中
f.flush() #此操作就是提前将缓冲区内的内容写入到磁盘中 time.sleep(10)
f.close()
#方案一
import sys,time
for i in range(30): #进度条类型
sys.stdout.write("*") #此时写入在缓冲区
sys.stdout.flush() #通过 flush() 实时刷新
time.sleep(0.2) #方案二
import time
for i in range(30): #进度条类型
print("*",end="",flush=True)
time.sleep(0.2)
4.truncate()
- 方法用于截断文件并返回截断的字节长度。
- 指定长度的话,就从文件的开头开始截断指定长度,其余内容删除;不指定长度的话,就从文件开头开始截断到当前位置,其余内容删除。
#文件内容如下
"""
秦时明月汉时关
万里长征人未还
但使龙城飞将在
不教胡马度阴山
""" #truncate()参数为空时
f = open("music","r+",encoding="utf8")
f.truncate()
print(f.read())
f.close() #输出结果如下
""" """ #truncate()有参数时
f = open("music","r+",encoding="utf8")
f.truncate(15)
print(f.read())
f.close() #输出结果如下
"""
秦时明月汉
"""
python(文件操作)的更多相关文章
- Python基础篇【第2篇】: Python文件操作
Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...
- [Python学习笔记][第七章Python文件操作]
2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...
- Python文件操作与函数目录
文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...
- 初学Python——文件操作第二篇
前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...
- day8.python文件操作
打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...
- 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()
嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...
- Python之路Python文件操作
Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...
- python 文件操作 r w a
python基础-文件操作 一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件 打开文件时,需要指定文件路径和以何等方式打开文件, ...
- Python:文件操作技巧(File operation)(转)
Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python # -*- coding: utf8 -*- spath = " D:/dow ...
- 小学生都能学会的python(文件操作)
小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...
随机推荐
- Java第十三天,内部类
内部类 一.①成员内部类.②局部内部类(包含③匿名内部类) 1.内部类用外部类属性和方法的时候,可以随意进行访问. 2.外部类用内部类属性和方法的时候,需要通过内部类对象访问. 3.在编译成class ...
- Struts2-学习笔记系列(10)-自定义类型转换
注意name=user和对应action中的实例名称一致 这些代码是写在HTML文件中的 <s:form action="login"> <s:textfield ...
- Linux c++ vim环境搭建系列(6)——CMakeLists.txt多文档多目录组织方法和编写示例
CMakeLists.txt学习 1. 概要 主要是关于cmakelists.txt的编写模板,和多文档多目录的组织方法详解, 涉及第三方库的添加使用方法. 这里主要介绍cmakelists.txt的 ...
- 逻辑对象中时间类型 保存时 隐藏bug
开发功能中的一些逻辑对象中的一些时间 属性,在保存数据库时有一个隐藏的bug,假如 我vo属性定义的就是date 类型,那我定时保存数据库时可能就会出错,eq:假如这个属性隔天要重置一些东西,表中这个 ...
- HashMap实现原理(JDK1.8)
概述HashMap在底层数据结构上采用了数组+链表+红黑树,通过散列映射来存储键值对数据因为在查询上使用散列码(通过键生成一个数字作为数组下标,这个数字就是hash code)所以在查询上的访问速度比 ...
- G++编译链接的那些事
语言 CPP 前言 虽然 VSCodeC++ 编辑器非常受大家的欢迎,无论是大佬还是小白都说对其爱不释手... 我...用了一段时间后发现实在是麻烦,配置往往花费我大量时间.可以说真的是吃力不 ...
- Java读源码之ReentrantLock(2)
前言 本文是 ReentrantLock 源码的第二篇,第一篇主要介绍了公平锁非公平锁正常的加锁解锁流程,虽然表达能力有限不知道有没有讲清楚,本着不太监的原则,本文填补下第一篇中挖的坑. Java读源 ...
- 用threejs实现三维全景图
网络上看到了3D全景图,发现threejs里面有一个库竟然可以实现,一下我贴出代码: <!DOCTYPE html> <html> <head> <meta ...
- 5000+图片找到你喜欢的那个TA,Python爬虫+颜值打分
前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 罗罗攀 PS:如有需要Python学习资料的小伙伴可以加点击下方链接 ...
- 8. input限制手机输入
1. 只能输入数字: <input id="num" type="number" value="0" onkeyup="va ...