python文件操作笔记
来源:互联网 发布:eromangabox新域名 编辑:程序博客网 时间:2024/05/27 20:40
文件操作:长期保存数据以便重复使用、修改和共享,必须将数据以文件的形式存储到外部存储介质或云盘中。按文件中数据的组织形式可以把文件分文本文件和二进制文本。
1.文本文件
文本文件存储的是常规字符串,由若干文本行组成,通常每行以换行符"\n"结尾。常规字符串是指记事本或其他文本编辑器能正常显示,编辑并且能够直接阅读和理解的字符串,如英文、汉字、数字字符串。
2.二进制文件
二进制文件把对象内容以字节串(bytes)进行存储,无法用记事本或其他普通文本处理软件直接编辑,通常需要专门的软件才能显示、修改编辑或执行。常见的图形文件、音频文件、可执行文件、资源文件、各种数据库文件等属于二进制文件。
python内置了文件对象,通过open()函数即可以指定的模式打开指定文件或创建文件对象,格式如下:
文件对象名=open (文件名,[打开方式,缓冲区])
文件打开模式 文件对象属性
模式
说明
属性
r
读模式
closed
判断文件是否关闭,若文件关闭,则返回True
w
写模式
mode
返回文件的打开模式
a
追加模式
name
返回文件的名称
b
二进制模式(可与其他模式组合使用)
+
读写模式(可与其他模式组合使用)
文件对象常用方法:
方法
功能说明
read([size])
从文件中读取size个字节
readline()
从文本文件中读取一行内容作为结果返回
readlines()
从文本文件中的每行文本作为一个字符串存入列表中,返回该列表
seek(offset[,whence])
把文件指针移动到新的位置,offset表示相对于whence的位置
tell()
返回文件指针的当前位置
write(s)
把字符串s的内容写入文件
writelns()
把字符串列表写入文本文件,不添加换行符
实例
1、读取文件、写入文件
with codecs.open(‘filename.txt’,’r’) as f:
f.write(s)
2、随机生成数据格式如,(‘编号’,整数)写入文件、读取该文件并按整数排序,
import codecs
import random
withcodecs.open('2016.txt','w') as f:
s=""
for i in range(100):
s+="编号,"+str(random.randint(1,1000))+"\n" #生成指定格式数据
f.write(s) #数据写入文件
withcodecs.open('2016.txt','r') as f:
data=f.readlines() #将文本文件的每行文本作为一个字符串存入列表中,
datamc=[eval(line.strip('\n').split(',')[1])for line in data ] #将整数部分取出来
print(datamc)
print('排序后结果')
datamc.sort(key=lambdax:x) #排序
print(datamc)
3 随机生成数据格式如,(‘编号’,整数)写入文件、读取该文件并按整数排序:
#每次一行一行读取数据
l=[]
with codecs.open('2016.txt','r') as f:
while True:
line=f.readline()
if line=='':
break
#print(line.strip('\n'),end=',')
t=[]
t.append(line.strip('\n').split(',')[0])
t.append(eval(line.strip('\n').split(',')[1]))
l.append(t)
print(l)
print('排序后数据')
l.sort(key=lambda x:x[1])
print(l)
用python习惯 做代码优化如下:
data=[]
with open('2016.txt','r') as f: #打开文件
for line in f: #文件对象是可迭代对象
b,i=line.strip('\n').split(',') #对文件对象中两部分内容分别赋值给临时变量
data.append([b,eval(i)]) #将内容添加到list中
print(data) #输出原始数据
print('排序后数据:')
data.sort() #排序
print(data) #输出排序后数据
- python文件操作笔记
- PYTHON笔记之文件操作
- Python学习笔记--文件操作
- Python学习笔记<文件操作>
- python学习笔记--文件操作
- python文件操作学习笔记
- Python学习笔记:文件操作
- python学习笔记-文件操作
- python学习笔记(一):文件操作
- python核心笔记--第九章 文件操作
- Python学习笔记3:简单文件操作
- python学习笔记17:文件操作
- python笔记9--文件的操作
- python学习笔记——文件操作
- Python学习笔记 —— 文件操作
- Python学习笔记之简单文件操作
- Python学习笔记之文件操作总结
- Python学习笔记(1)—文件操作
- Android查找dalvikvm疯狂调用GC原因
- unity3D-游戏/AR/VR在线就业班 C#入门While和DoWhile语句学习笔记
- mysql利用脚本批量修改数据库名字,安全快捷
- 指针变量所占字节大小问题
- Ubuntu上SNMP安装配置
- python文件操作笔记
- 我的Android成长之路(9)----黑科技dataBinding(二)
- 第十二周--利用遍历思想求解图问题
- 微信支付最新
- 第12周项目4-利用遍历思想求解图问题
- Linux通过 Docker 可以托管 .NET Core啦!
- Cannot change version of project facet Dynamic web module to 3.0个人经验
- 治愈 JavaScript 疲劳的学习计划
- Delphi - IClassFactory = interface(IUnknown) ['{00000001-0000-0000-C000-000000000046}']