Python学习笔记_1_基础_6:文件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Python学习笔记_1_基础_6:文件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2955字,纯文字阅读大概需要5分钟。
内容图文
一、打开文件
1、打开方式
# r:只读方式,文件的指针将会放在文件的开头;若文件不存在则报错。(这是默认模式)
# w:写方式,重新创建文件;即不存在就创建,存在则覆盖
# a:追加方式;不存在创建,存在则追加内容(文件指针将会放在文件的结尾)
# 特殊方式(rb、wb、ab):以二进制格式打开文件,网络传输以及二进制文件(视频、音频等,字符串文件也可用二进制形式打开)操作
# +形式:r、w、a、rb、wb、ab均可以使用+形式,在原有形式上增加读或写功能。
# 注意
# 读:可以调整文件指针,读取不同位置数据。
# 写:不能修改原有内容,只能重新覆盖,或者尾部追加。
1 f = open(‘yesterday‘,mode= ‘r+‘,encoding=‘utf-8‘) #文件句柄 2 data = f.read() 3print(data) 4 5‘‘‘ 6f.write(‘aaaaaaaaaaaaaaaaa‘) #报错 7 8f = open(‘test1.txt‘,mode= ‘w‘,encoding=‘utf-8‘) #文件句柄 9f.write(‘bbbbbb‘) #每次运行均被覆盖 1011#data = f.read() #报错 12#print(data) 13f1 = open(‘test1.txt‘,mode= ‘a‘,encoding=‘utf-8‘) #文件句柄 14f1.write(‘出错出错错错错错错错错‘) #尾部追加 1516‘‘‘
2、打印文件
1 f = open(‘yesterday‘,mode= ‘r‘,encoding=‘utf-8‘) 2 3#打印行 4 count = 0 5for line in f: 6if count == 9: 7print(‘我是分隔符‘.center(50,‘-‘)) 8 count +=1 9continue10print(line.strip()) 11 count +=1 1213‘‘‘14#不建议使用,文件大速度慢,甚至承包内存 15for index,line in enumerate(f.readlines()): 16 if index == 9: 17 print(‘我是分隔符‘.center(50,‘-‘)) 18 continue 19 print(line.strip()) 2021#for i in range(5): 22# print(f.readline()) 23‘‘‘24print()
二、文件操作方法
1、文件句柄信息
1 f = open(‘yesterday‘,mode= ‘r+‘,encoding=‘utf-8‘) 23#文件句柄信息4print(‘文件句柄信息‘.center(50,‘-‘)) 5print(f) 6print(f.name) #文件名称7print(f.fileno()) #文件内存编号8 f.flush() #文件刷新,文件修改并不是实时进行,修改信息先保存在缓存中,一定内容后刷新。9print( f.isatty() ) #如果文件连接(与终端设备关联)到tty(类似)设备则返回True,否则为false。
2、文件读取
1 # 文件读取 2 print(‘文件读取‘.center(50,‘-‘)) 3print(‘是否可读‘,f.readable()) #是否可读 4print(‘读取指定长度内容‘,f.read(10)) #读取指定长度内容 5print(‘读取一行‘,f.readline()) #读取一行 6print(type(f.readlines())) #读取全部内容到一个列表,不建议使用。 7print(‘是否可调整指针位置‘,f.seekable()) #是否可调整指针位置 8print(‘获取指针位置‘,f.tell()) #获取指针位置 9print(‘调整指针位置‘,f.seek(0)) 10print(‘读取指定长度内容‘,f.read(10)) 11print(‘获取指针位置‘,f.tell())
3、文件修改
1 # 文件修改 2 ‘‘‘ 3 1234567890 4 abcdefghij 5 ‘‘‘ 6 print(‘文件修改‘.center(50,‘-‘)) 7 f1 = open(‘test1.txt‘,mode= ‘r+‘,encoding=‘utf-8‘) 8 f1.seek(10) 9#方法用于截断文件:10# 如果指定了可选参数 size,则表示截断文件为 size 个字符(从头开始截取)。11# 如果没有指定 size,则从当前位置起截断;截断之后 size 后面的所有字符被删除。12print(f1.truncate() ) 13print(‘是否可写‘,f1.writable()) 14 f1.write(‘abcdefhijk‘) #写入数据,在文件末尾15 f1.write(‘\nList:‘) 16 f1.writelines([‘L‘,‘M‘]) #可以是列表,元组,集合,字典(写入值)17 f1.write(‘\nTuple:‘) 18 f1.writelines((‘O‘,‘P‘)) 19 f1.write(‘\nSet:‘) 20 f1.writelines(set([‘O‘,‘P‘])) 21 f1.write(‘\nDictionary:‘) 22 f1.writelines({‘Keys‘:‘Values‘,‘Keys1‘:‘Values1‘}) 2324 f.close() #文件关闭25 f1.close()
运行前:
运行结果:
三、flush函数
刷新函数:文件操作并非实时写入文件,如需实时写入则要用flush函数。
1 import sys,time 2 3 for i in range(20): 4 sys.stdout.write("#") 5 sys.stdout.flush() 6 time.sleep(0.1) 7 8print(‘‘) 910for i in range(20): 11print("#",end=‘‘,flush=‘True‘) 12 time.sleep(0.1)
运行可看出效果。
四、WITH语句(基本,后续完善)
with语句:使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会执行规定的__exit__(“清理”)操作,释放被访问的资源,比如有文件读写后自动关闭、线程中锁的自动获取和释放等。
1 # 一行,最好不超过80个字符 2 with open(‘yesterday‘,mode= ‘r‘,encoding=‘utf-8‘) as f ,3 open(‘yesterday‘,mode= ‘r‘,encoding=‘utf-8‘) as f1: 4for i in f: 5print(i,end=‘‘)
原文:https://www.cnblogs.com/104cz/p/9581684.html
内容总结
以上是互联网集市为您收集整理的Python学习笔记_1_基础_6:文件全部内容,希望文章能够帮你解决Python学习笔记_1_基础_6:文件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。