python3,5 文件的基本操作

# Author Richard_Kong
# !/usr/bin/env python
# --*-- encoding:utf-8 --*--
import time
"""
对文件的基本操作流程:
1、打开文件 并得到文件句柄赋值发给变量
2、通过句柄对文件进行操作
3、关闭文件

对文件的基本操作:
文件的读取
文件的写入
文件的循环读
文件的光标
"""
# f = open('lyrics',encoding='utf-8')
# 一次性读取所有数据,但是当数据量过大的时候就不行了
# for line in f:
#     print(line)
# data = f.read()
# print(data)

# f.close()
# 打开文件,返回文件句柄,句柄包括文件的大小 名称 起始位置
'''
f = open('lyrics',buffering=1,encoding='utf-8')
data = f.read()# 一次性将所有文件读取完了,里面有类似文件光标的位置记录
data2 = f.read()# 从上面的最后读取,但是后面没有东西了,读取的数据为空
print(data)
print("-------------------data2-----------------",data2)
#f.write("jhajbajhafjdbhfadflkjadf") # 文件不可写,必须在打开的时候 指定文件是可读的 还是可写的
'''
"""mode 为w时 是创建一个新的文件,"""
# f = open('lyrics',mode='r+',encoding='utf-8')
# f.write('我爱北京天俺们,天安门上太阳升')
# '''此时的光标在文件末尾,所以读取出来的数据为空'''
# time.sleep(3)
# data = f.read()
# print(data)
#
# f.close()

f = open('lyrics',mode='r+',encoding='utf-8')
"""读取前五行"""
"""readlines 将整个文件内容返回列表"""
for line in f.readlines():
    print(line.strip())

print("-------------------")
for i in range(5):
    print(f.readline())
f.close()
"""当文件比较大的时候怎么办呢,我们不能将文件全部读出,这样会占用比较大的内存"""
f = open('lyrics',mode='r+',encoding='utf-8')
print(f.tell())#打印文件的光标
print("-------高级的读取方式,此时f为迭代器-------")
for line in f:
    print(line.strip())
f.seek(0)
print(f.tell())
print(f.encoding)# 打印文件的编码
"""f.flush() 刷新指的是从内存中存储到硬盘中"""

后面会右博客阐示自己对迭代对象、迭代器、生成器、容器的理解与区别

猜你喜欢

转载自blog.csdn.net/kokodudu/article/details/81505492
今日推荐