011.Python基础语法(十)——输入和输出(二)——文件输入输出
文件的使用
文件的打开和关闭
文件内容的读取
文件的全文本操作
- 直接使用read
- 缺点:耗费内存资源
- 按照数量处理,e.g. read(2)
- 逐行处理
- 直接使用for line in fo.readlines()
- 缺点:一次读入,分行处理,耗费计算机内存
- 直接使用for line in fo(fo是文件句柄)
- 优点:分行读入,逐行处理
- 直接使用for line in fo.readlines()
数据的文件写入
因为指针没有回到文件的初始位置
解决方法:在循环之前增加fo.seek(0)
- map(argc1,argc2)的功能
- 将第一个参数的功能作用于第二个参数
with结构
with context [as var]:
操作语句
with语句定义了一个上下文,执行with语句时:
1.调用上下文对象congtext的__enter__()返回其值赋给var
2.离开with语句块时,最后调用context的__exit__(),确保释放资源
import sys
filename = sys.argv[0]
line_no = 0
with open(filename, 'r', encoding='utf-8' as f:
for line in f:
line_no += 1
print(line_no, ":", line)
f.close()
标准输入输出和错误流
import sys
sys.stdin
sys.stdout
sys.stderr
重定向
标准输出重定向举例:
f = open("log.txt", 'w')
sys.stdout = f
恢复标准重定向
sys.stdin = sys.__stdin__
sys.stdout = sys.__stdout__
sys.stderr = sys.__stderr__