Python3.5——文件读与写详解(下)
2017-09-01 21:08
260 查看
1、文件读完之后,文件句柄的指针移动到文件的末尾,想从头再读一遍,需要将指针移回到开始位置。(1)查看文件句柄的指针指向的位置,调用.tell(),已读取的字符的个数即为计数的值(也是文件句柄指针指向的位置)。f = open("song",'r',encoding="utf-8")print(f.tell())print(f.readline().strip()) #读取第一行print(f.tell())#运行结果:#0#take me to your heart#23
f = open("song",'r',encoding="utf-8") print(f.tell()) print(f.read(6)) #读取字符的个数 print(f.tell()) #运行结果: #0 #take m #6(2)移动文件句柄指针,使其回到某个位置,调用.seek(指针的位置)f = open("song",'r',encoding="utf-8")print(f.tell())print(f.readline().strip()) #读取第一行内容print(f.tell()) #打印文件句柄指针的位置f.seek(0) #文件句柄指针回到起始位置print(f.tell())f.seek(30) #文件句柄指针回到第30个字符的位置print(f.readline().strip()) #从第30个字符开始读一行内容print(f.tell()) #打印读取之后指针的位置#运行结果:#0#take me to your heart#23#0#from the rain and snow#542、打印文件的编码类型——调用:句柄.encoding()
f = open("song",'r',encoding="utf-8") print(f.encoding) #打印文件的编码类型 #运行结果: #utf-83、打印文件的名字——调用:句柄.name
f = open("song",'r',encoding="utf-8") print(f.name) #打印文件名字 #运行结果: #song4、判断文件是否可读——调用:句柄.readable() 判断文件是否可写——调用:句柄.writable() 判断文件是否已经关闭——调用:句柄.closed() 判断文件句柄指针是否可移动——调用:句柄.seekable(),tty文件和终端设备文件的句柄指针不能移动f = open("song",'r',encoding="utf-8")print(f.readable()) #判断文件是否可读print(f.seekable()) #判断文件句柄指针是否可移动print(f.writable()) #判断文件是否可写#运行结果:#True#True#False5、以写的模式打开一个文件,刚写完一行,突然断电,写的内容就没有写入硬盘当中,而是在内存的缓存中(硬盘的速度比内存慢)。原本等到写入的内容在内存的缓存中满了,再一起写入硬盘中,调用句柄.flush()表示强制刷新到硬盘里面。举例:动态打印字符:每隔0.1秒在屏幕输出打印一个#,一个打印20个import sys,timefor i in range(20):sys.stdout.write("#") #向屏幕标准输出写入的字符sys.stdout.flush() #强制刷新time.sleep(0.1) #休眠时间#运行结果####################6、截断文件里面的内容——调用:句柄.truncate() 没有写参数,不做任何操作调用:句柄.truncate(10) 参数10,代表从文件开头,截断10个字符f = open("song",'a',encoding="utf-8")f.truncate(20) #从起始位置截断20个字符7、"+" 表示可以同时读写某个文件(1)r+ 读写模式,注:写的内容从文件的最后面开始写入(写等同于追加),即:【可读;可写;可追加】f = open("song",'r+',encoding="utf-8") #r+表示读写模式for line in range(3):print(f.readline().strip())f.write("-----------")运行结果:(2)w+ 写读模式(应用不多):先创建一个文件然后再向里面写内容,注:写的内容从文件的最后面开始写入(写等同于追加)f = open("song",'w+',encoding="utf-8")f.write("-----------\n")f.write("-----------\n")f.write("-----------\n")print(f.readline())f.seek(14)f.write("==========")print(f.readline())f.close()运行结果:(3).a+ 追加读模式8、"b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)应用:在网络传输只能用二进制模式进行传输;所有的二进制文件(如:视频)用二进制模式。(1)二进制文件——读f = open("song",'rb') #"b"表示处理二进制文件for line in range(3):print(f.readline())运行结果:(2)二进制文件——写f = open("song",'wb') #"b"表示处理二进制文件--写f.write("Hello World\n".encode()) #需要将字符串编码成字节包(二进制格式)才能够写入f.close()运行结果:9、"U"表示在读取时,可以将 \r \n \r\n自动转换成 \n (与 r 或 r+ 模式同使用)(1)rU(2)r+U
相关文章推荐
- Python3.5——文件读与写详解(上)
- Python3.5——文件修改详解
- python实现xlsx文件分析详解
- python pandas IO tools 之read_csv文件读写参数详解
- 【详解】Python下载文件
- Python3.x文件处理详解
- Python文件输入输出详解
- Python 文件读写操作实例详解
- python之文件读写详解
- python文件打开方式详解——a、a+、r+、w+区别
- Python中使用不同编码读写txt文件详解
- Python Selenium Web自动化上传/下载文件图文详解
- 详解 Python 与文件对象共事的实例
- Python学习 Python3.5+PyQt5环境--------03、使用PyInstaller3.2.1把py文件打包成exe文件
- [CentOS Python系列] 二.pscp上传下载服务器文件及phantomjs安装详解
- Python 实现文件的全备份和差异备份详解
- 详解Python中的文件操作
- python入门(十):文件的操作详解
- Python中.py文件打包成exe可执行文件详解
- 【详解】Python脚本转可执行文件