Python Magic——文件操作
文章目录
- 前言
- 文件操作
- 1. 文件操作基本手法读取日志文件最后一行数据
- 2. 文件操作魔法的几种模式
- ① r---只读模式
- (1) read()---读取文件全部,若读完,后面再调用readline则将无法再读出
- (2) readline()---一次使用读一行,若无,则打印空
- (3) readlines()---读取所有行,并存入列表
- (4) readable()---判断是否可读
- ② w---只写模式
- (1) 若文件存在,将会清除原文件;若文件不存在,将会新建空文件
- (2) write()---写入内容,\n换行结束本行,可编写多行
- (3) writelines()---以列表的形式写入,\n换行,内容只能为字符串
- ③ a---追加(追加模式写入,不会覆盖),write()写到文件最后,无法read()读取
- ④ r+,w+,a+ ---可读可写
- ⑤ b二进制形式,rb二进制形式读,wb二进制形式写入,b方式不能指定编码(encoding=’utf-8’)
- ⑥ 几种文件操作魔法的道具
- (1) closed---判断文件是否关闭
- (2) encoding---查看文件编码方式
- (3) flush()---刷新
- (4) name---文件名
- (5) tell()---当前光标所在位置(字节位置)
- (6) Newline---读取文件中真正的换行字符
- (7) Truncate()---切文件(截取),不能用在w与w+当中
- (8) seek()---控制光标移动f.seek(字节),b方式打开
- 3. 读取日志文件最后一行数据(练习)
- 4. 文件操作魔法的 增删改查 技能
- 基本模板
- 5. 程序小总结
- (1) 函数
- (2) tag True/False警告符,通过警告符tag来进行改变操作方向,或来结束死循环
- (3) 文件处理
- (4) 程序的解耦:将函数中重复部分构成一个新的函数,进而调用代替,减少代码量
- 总结
前言
文件操作,通常用在数据保存与数据处理使用,庞大的数据可能以字符串的形式写在程序里,如果真这样想必是有啥大病。。。
文件操作
1. 文件操作基本手法读取日志文件最后一行数据
f = open('a',encoding='utf-8') #文件打开,编码方式utf-8
data = f.read() #读文件
print(data)
f.close() #文件关闭
2. 文件操作魔法的几种模式
① r—只读模式
(1) read()—读取文件全部,若读完,后面再调用readline则将无法再读出
f = open('a','r',encoding='utf-8')
data = f.read()
print(data)
print(f.readline())#前面已经读完,此刻再读则无法读出,返回为空
f.close()
(2) readline()—一次使用读一行,若无,则打印空
f = open('a','r',encoding='utf-8')
n = 1
while True:m = f.readline()if m=='':breakprint('第%d句:' %n,m)n+=1
f.close()
(3) readlines()—读取所有行,并存入列表
f = open('a','r',encoding='utf-8')
print(f.readlines()) #换行符\n也会被存入列表
f.close()
(4) readable()—判断是否可读
f = open('a','r',encoding='utf-8')
print(f.readable())
f.close()
② w—只写模式
(1) 若文件存在,将会清除原文件;若文件不存在,将会新建空文件
(2) write()—写入内容,\n换行结束本行,可编写多行
f = open('b','w',encoding='utf-8')
data = 'I love you\nPython'
f.write(data)
f.close()
(3) writelines()—以列表的形式写入,\n换行,内容只能为字符串
f = open('b','w',encoding='utf-8')
data = ['I love you\n','Python']
f.writelines(data)
f.close()
③ a—追加(追加模式写入,不会覆盖),write()写到文件最后,无法read()读取
f = open('b','a',encoding='utf-8')
data = '\nI love you\nPython'
f.write(data)
f.close()
④ r+,w+,a+ —可读可写
⑤ b二进制形式,rb二进制形式读,wb二进制形式写入,b方式不能指定编码(encoding=’utf-8’)
f = open('a','rb')
data = f.read()
print(data.decode('utf-8'))
f.close()
⑥ 几种文件操作魔法的道具
(1) closed—判断文件是否关闭
f = open('a','r',encoding='utf-8')
data = f.read()
print(f.closed)
print(data)
f.close()
print(f.closed)
(2) encoding—查看文件编码方式
f = open('a','r',encoding='utf-8')
data = f.read()
print(f.encoding)
print(data)
f.close()
(3) flush()—刷新
(4) name—文件名
(5) tell()—当前光标所在位置(字节位置)
(6) Newline—读取文件中真正的换行字符
(7) Truncate()—切文件(截取),不能用在w与w+当中
f = open('a','r+',encoding='utf-8',newline='')
data = f.read()
print(f.name)
f.flush()
print(f.tell())
print(data)
print(f.truncate(6))
f.close()
(8) seek()—控制光标移动f.seek(字节),b方式打开
默认为0,文件开头
字节数:汉字3个字节,换行2个字节,字母数字空格1个字节
seek(n,1)—相对前一次光标位置,向后n个位置
seek(-n,2)—倒序,从后数第n个位置
f = open('b','rb')
data = f.read()
print(f.tell())
f.seek(6) #字节数,汉字3个字节,换行2个字节,字母数字空格1个字节
print(f.tell())
f.seek(16,1) #相对前一次光标位置,向后16个位置
print(f.tell())
f.seek(-6,2) #倒序,从后数第6个位置
print(f.tell())
f.close()
3. 读取日志文件最后一行数据(练习)
f = open('b','rb')
for i in f:offs = -10 #自定义长度(只要不要太大即可,以免超过文件最大字节),倒叙while True: #根据循环来判断最后一行f.seek(offs,2)data = f.readlines() #读取光标位置,从此往后读取,一行为列表一个元素if len(data)>1: #通过循环使offs不断变大,从而是最后一行读取完整(或offs过大直接得出最后一行)print('文件最后一行是:%s' %(data[-1].decode('utf-8')))breakoffs *= 2
4. 文件操作魔法的 增删改查 技能
基本模板
def adder():print('增加')
def delete():print('删除')
def update():print('修改')
def look():print('查看')
if __name__ == '__main__':msg ='1:增加,2:删除,3:修改,4:查看'msg_dic={'1':adder,'2':delete,'3':update,'4':look}while True:print(msg)choice = input('请输入选项:').strip()if not choice:continueif int(choice) > 4:print('没有此功能')continuemsg_dic[choice]()
5. 程序小总结
(1) 函数
(2) tag True/False警告符,通过警告符tag来进行改变操作方向,或来结束死循环
tag = True
i = 0
while tag:if i==tag:tag = Falseprint('结束循环')else:i = Trueprint('继续循环')
(3) 文件处理
(4) 程序的解耦:将函数中重复部分构成一个新的函数,进而调用代替,减少代码量
总结
文件操作其实简简单单,无非就是存与取两种操作,至于对其数据的操作还是要运用程序魔法来进行,今天先简单说这么一点,先练一练这些基本的文件操作魔法吧!
Python Magic——文件操作相关推荐
- python写文件追加 按行追加_你真的会用python进行文件操作吗
本篇文章主要比较系统的介绍了python中文件操作,以及在在使用中需要注意的问题. 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非易失性存储器中实现持续性存储, ...
- Python基础-文件操作
Python基础-文件操作 1.文件的打开和关闭 # 1.打开文件 # 默认r模式 只读 文件不存在,报错 # f = open('a.txt')# w模式 写权限 # 如果文件不存在,就会创建文件 ...
- python的文件操作、模块操作、os模块、time、datatime模块以及模块的制作
Day12新手小白学python 第十二节 python的文件操作.模块操作.os模块.time.datatime模块以及模块的制作 目录 Day12新手小白学python 前言 一.文件打开关闭 二 ...
- 15 python的文件操作
一.文件打开 文件(file) 通过Python程序来对计算机中的各种文件进行增删改查的操作,文件也叫I/O(Input/Output) 文件的操作步骤 打开文件 对文件进行各种操作(读.写)然后保存 ...
- python通过内置的什么函数打开一个文件_利用python进行文件操作
这篇文章主要介绍了如何利用python进行文件操作,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是文件 文件是系统存储区域的一个命名位置,用来存储一些信息,便于后续访问.能够在非 ...
- Python之文件操作_读取_编码_os模块
目录 前言 一.文件基本操作 1.什么是文件 2.操作文件的步骤 3.文件的路径 4.open函数操作权限总结 5.文件读取 6.with-open-as 7.文件定位读取 8.文件编码 二.OS模块 ...
- python对文件操作-python中文件操作的其他方法
Python中文件操作的一般方法,包括打开,写入,关闭.本文中介绍下python中关于文件操作的其他比较常用的一些方法. 首先创建一个文件poems: p=open("poems" ...
- python:文件操作
一.文件操作 1.介绍 f:变量,f_obj,file,f_handler.....文件句柄 open window的系统功能 windows默认编码方式:gbk',linux默认编码方式是 ...
- Python基础--文件操作
文件操作通常用来存储程序结果,以便下次可以直接使用,不必要重新运行一遍.文件操作最基本的三步:1.打开文件或者新建文件 2. 读或者写 3 关闭文件流保存数据. Python 访问模式如下: 打开 ...
最新文章
- 网站性能越来越差怎么办?
- 【前沿技术】被“围剿”的比特币,一个月“吃”掉4500万度电!
- python零基础入门教材-python如何零基础学习,如何入好门?
- 简书的css排版,css格式化排版
- 【数据挖掘】视频版权检测优胜解决方案
- 存储类型_malloc_typedef小结
- 净水器怎么放_家中安装净水器后,水却更脏了!这几个常识性问题你不得不知道...
- [转载] 民兵葛二蛋——第1集
- java务必让常量的值在运行期保持不变
- JDBC连接数据库(一)
- python基础课程6(看代码看注释)--pandas
- 地铁建设 (Standard IO)
- word图表自动编号
- stm32 hal 模拟i2c
- 老婆也是程序员,双码农家庭真的快乐吗?
- Leetcode每日一题2020.11.13第328题:奇偶链表
- 流程设计建模方法:流程的需求梳理之活动级别梳理
- 32位掩码转换成子网掩码
- Flutter仿美团应用开发笔记-首页 (1)
- 你在客户那到底算老几