一、文件操作

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(文件操作)的更多相关文章

  1. Python基础篇【第2篇】: Python文件操作

    Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说 ...

  2. [Python学习笔记][第七章Python文件操作]

    2016/1/30学习内容 第七章 Python文件操作 文本文件 文本文件存储的是常规字符串,通常每行以换行符'\n'结尾. 二进制文件 二进制文件把对象内容以字节串(bytes)进行存储,无法用笔 ...

  3. Python文件操作与函数目录

    文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 ...

  4. 初学Python——文件操作第二篇

    前言:为什么需要第二篇文件操作?因为第一篇的知识根本不足以支撑基本的需求.下面来一一分析. 一.Python文件操作的特点 首先来类比一下,作为高级编程语言的始祖,C语言如何对文件进行操作? 字符(串 ...

  5. day8.python文件操作

    打开和关闭文件 open函数 用Python内置的open()函数打开一个文件,创建一个file对象,相关的方法才可以调用它进行读写. file = open(file_name [, access_ ...

  6. 关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

    嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折 ...

  7. Python之路Python文件操作

    Python之路Python文件操作 一.文件的操作 文件句柄 = open('文件路径+文件名', '模式') 例子 f = open("test.txt","r&qu ...

  8. python 文件操作 r w a

    python基础-文件操作   一.文件操作 对文件操作的流程 打开文件,得到文件句柄并赋值给一个变量 通过句柄对文件进行操作 关闭文件       打开文件时,需要指定文件路径和以何等方式打开文件, ...

  9. Python:文件操作技巧(File operation)(转)

    Python:文件操作技巧(File operation) 读写文件 # ! /usr/bin/python #  -*- coding: utf8 -*- spath = " D:/dow ...

  10. 小学生都能学会的python(文件操作)

    小学生都能学会的python(文件操作) 1. open("文件路径", mode="模式", encoding="编码") 文件的路径: ...

随机推荐

  1. Vue项目添加动态浏览器头部title

    0. 直接上 预览链接 + 效果图 Vue项目添加动态浏览器头部title 1. 实现思路 ( 1 ) 从路由router里面得到组件的title ( 2 ) title存vuex (本项目已经封装h ...

  2. PHP程序员的能力水平层次(一)

    前言 之前看过很多篇关于服务端工程师和PHP开发者的能力模型介绍,每篇都对能力有侧重点. 下面我们来详细谈谈以开发能力为基准点的PHP程序员的能力水平层次. 层层递进 1.功能开发 这个水平的程序员一 ...

  3. 会话技术(session/cookie)

    session可保存int double bool array string object:cookie只能保存stringsession 可通过php.ini文件查看存放的位置:cookie不同浏览 ...

  4. Array(数组)对象-->join() 方法

    1.定义和用法 join() 方法把数组中的所有元素用指定的参数作为分隔符拼接成一个字符串. 语法: array.join(separator) 举例: var arr = [1,2,3,4,5]; ...

  5. matplotlib Bbox类

    Bbox 类是一个可变的(相对于BboxBase)限位框, 继承自BboxBase 2020-04-07 22:54:57  --Edit by yangray 方法: __init__(points ...

  6. shell http请求&处理返回值获取其中某个字段的值

    并且第一个接口的返回值中部分参数得作为第二个接口的入参,所以做了如下shell验证 第一个接口返回的response body串: { "bizCode": "1&quo ...

  7. 详解 Paths类 与 Files类

    在本篇博文中,本人主要讲解NIO 的两个核心点 -- 缓冲区(Buffer) 和 通道 (Channel)之一的 缓冲区(Buffer), 有关NIO流的其他知识点请观看本人博文<详解 NIO流 ...

  8. 6. webRTC

    webrtc网上封装的很多,demo很多都是一个页面里实现的,今天实现了个完整的 , A 发视频给 B. 1.) A 方 <!DOCTYPE html> <html id=" ...

  9. selenium 键盘鼠标模拟

    一.键盘模拟常用的键 sendKeys(Keys.BACK_SPACE);  //删除键--Backspace sendKeys(Keys.SPACE);   //空格键 Space sendKeys ...

  10. qa问答机器人pysparnn问题的召回

    """ 构造召回的模型 """ from sklearn.feature_extraction.text import TfidfVecto ...