python大作战之文件读写进阶篇
来源:互联网 发布:ipad达芬奇调色软件 编辑:程序博客网 时间:2024/04/29 09:44
前言:之前跟大家说过,会对文件读写做一个进阶篇,那么今天就和大家一起学习下。
先给大家介绍几个方法:
1:readline()------读取多行文件内容
2:readlines()------读取单行文件内容
3:strip()------去掉文件操作中的空格和换行
4:tell()------打印或者输出当前文件光标的位置,按照字符来计算
5:seek()------移动光标到指定字符位置
6:flush()------时时刷新
7:stdout/stdin------标准输出和标准输入
8:truncate()------截断
9:closed()------判断文件是否关闭,返回结果为false和true
下面,通过几个例子来加深对它们的了解:
A:>>> f=open('fjh.txt','r',encoding=('gbk'))
>>> for line in range(3):
f.readline()
'我想在跑车里\n'
'想要一辆法拉利\n'
'想要钱 Money Money\n'
从例子中可以看出,readline只是一行一行输出,那与之相对的readlines就是多行输出
B:>>> f=open('fjh.txt','r',encoding=('gbk'))
>>> f.readline()
'我想在跑车里\n'
>>> f.tell()
14
>>> f.seek(0)
0
>>> f.readline()
'我想在跑车里\n'
从例子中可以看出,tell是把当前光标的位置打印出来,14,因为一个中文占两个字符,同时,seek就是把光标移动到开头
tell和seek一般同时出入
C:import sys,time
for i in range(20):
sys.stdout.write('#')
sys.stdout.flush()
time.sleep(0.1)
大家可以实际操作下,在idle中需要新建文件,在里面写好之后在点击run去运行
从例子中看出stdout是以屏幕为标准输出,flush会时时刷新缓存,如果没有flush,那么结果将会直接全部一次性打印出来
因为它会等缓存区满了统一打印出来
D:>>> f=open('fjh.txt','r',encoding=('gbk'))
>>> f.close()
>>> f=open('fjh.txt','w',encoding=('gbk'))
>>> f.truncate()
0
>>> f.close()
今天就先跟大家讨论到这里,下次我在补充一些r+,w+,a+,rb,wb等的操作
- python大作战之文件读写进阶篇
- python大作战之文件的读写操作(初学片)
- python大作战之文件读写(r+,w+,a+)特别篇
- python大作战之迭代器初级篇
- python大作战之排序
- python大作战之集合
- python大作战之生成器
- python大作战之字典表(dict)--基础篇
- python序列大作战之可变序列
- Python进阶_1.读写文件
- python大作战之不可变序列(元组tuple)
- python大作战之递归和高阶函数
- python大作战之*args和**kwargs的区别
- Python进阶(二十五)-Python读写文件
- python之读写文件
- Python之文件读写
- Python之文件读写
- Python之读写文件
- UnboundLocalError: local variable 'c' referenced before assignment
- 链表(C语言)
- 分布式系统学习思路
- JAVA面试题总集合(1)
- Java 集合-实现原理总结
- python大作战之文件读写进阶篇
- Vue——axios基本配置及请求拦截
- xmanger登录linux图形桌面
- 在线支付公司Stripe的服务发现架构设计过程分享
- python发送邮件
- 【AngularJs】模块和控制器
- 如何让一个a标签的跳转失效
- Vue——路由定义及基本使用
- .\systick.axf: Error: L6320W: Ignoring --entry command. Cannot find argument 'Reset_Handler'.