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="编码") 文件的路径: ...
随机推荐
- 计算机网络协议,UDP数据报的分析
一.UDP数据报的特点 1.基本特性 UDP是在IP数据报的基础上增加了复用和分用以及差错检测的功能 UDP的主要特点如下: UDP是无连接的:即发送数据之前不需要建立连接 UDP使用尽最大努力交付, ...
- linux之进程管理(二)
一.查看进程 ps aux 查看系统所有的进程数据 ps -lA 查看所有系统的数据 ps axjf 连同部分进程树状态 ps参数 -A 显示所有进程,等效 -e -a 不与ter ...
- 深入理解智能指针之shared_ptr(一)
本文基于C++标准库源码分析shared_ptr,旨在搞清楚shared_ptr是什么,线程安全性等,目标能够安全的使用智能指针. (一)shared_ptr是一个类. 首先可以确定的是shared_ ...
- C++11中的四种类型转换
static_cast 基础数据类型转换(基本类型) 同一继承体系中类型的转换(父子类型) 任意类型与空指针(void *)之间的转换(指针类型) dynamic_cast 执行派生类指针或引用与基类 ...
- Linux 下普通用户切换root超级管理员用户的几种方法
1.在命令行下输入:sudo su ,之后会提示你输入密码 2.此时输入你之前设定的密码既可: 3.但有时会提示你该普通用户不在sudoers文件里 4.此时可以使用以下命令来切换root用户权限:s ...
- ln -s 软链接命令
所有对软链接link_name的操作都是对目录或文件dir_file的操作 ln -s [dir_file] [link_name]
- push和appendChild的区别
概述:绑定事件(push和appendChild用法相似:但是一个是控制数组,一个是控制元素节点)用法:1.数组1的更改后的长度 = 数组1.push();//用来控制数组,在数组最后面插入项,返回数 ...
- Continue 和 Break
1.什么是continue和break continue:继续的.持续的 break:冲断的.折断的 作用:用于终止循环体,主要用于switch条件语句和循环体条件语句(for.while.do-wh ...
- Gitflow分支管理策略
Gitflow存在两个记录项目历史的分支 Master分支:存储(官方的,正式的)项目发布历史记录的分支. develop分支:充当功能的集成分支. Develop分支将包含项目的完整历史记录,而ma ...
- Serval and Parenthesis Sequence CodeForces - 1153C
题目大意:一个字符串只含有? ( ),?可以变成 ) 或者 ( ,将字符串中所有的?变成) 或者 ( 使得字符串合法. 合法就是让括号配对,并且不可以提前结束比如:()()这样是不合法的. 题解:既然 ...