#文件(记住每次操作都要关闭文件.close())
#简单的读取操作
data=open("YESTERDAY").read() #打开文件读出整个文件的内容
print(data)
如果报错GBK,则修改为data=open("YESTERDAY",coding="utf-8").read()
#文件操作
# -*-coding:utf-8 -*-
'''data=open("YESTERDAY").read() #打开文件(若文件不存在,自动创建一个新的文件)
print(data)
'''
#读文件(此时相当于把整个文件已经读到内存中了)
f = open("YESTERDAY",'r') #文件句柄(简单记为文件对象)
data=f.read()
print(data)
'''data2=f.read()
print(data2) #此时data2变量没有输出,理解为文件指针停留在第一个变量读取完文件后停留在末尾,
#data2读取的时候并没有回到文件的最开始位置,所以读不到文件内容
'''
#写'w',创建一个文件,覆盖原来存在的文件
f = open("YESTERDAY2",'w')
f.write("这是我啊\n")
f.write("sss\n")
f.close()
#a=append写的时候是追加到文件末尾的方式
f = open("YESTERDAY2",'a')
f.write("四十四")
f.close()
#指定行数输出文件内容
#readline() 输出一行文件内容
f = open("YESTERDAY",'r')
print(f.readline()) #每次读一行
for i in range(5): #用for循环读取前5行
print(f.readline())
#readlines() 将文件内容转换为列表形式
f = open("YESTERDAY",'r')
for index,line in enumerate(f.readlines()): #用enumerate给予下标,并第十行不打印文件内容
if index==9:
print("-------------")
continue
print(line.strip()) #strip是清除默认换行
#内存中每次只存在文件中的一行数据(较为高效的方法)(较为常用)
count=0
f=open("YESTERDAY",'r')
for line in f: #f相当于迭代器
if count==9:
print("-------")
count+=1
continue
print(line.strip())
count+=1
#tell()获取当前文件指针位置(以字符计数的方式返回字符数)
#f.seek()将文件指针移到某处,括号中可以填写字符数,表示将指针移到指定字符数处
f=open("YESTERDAY",'r')
print(f.tell()) #此时输出到屏幕是0
print(f.readline())
print(f.tell()) #此时值不为0
f.seek(0) #将文件指针移到文件首处
print(f.readline())
'''此时文件又可以进行第二次读,若没有seek()函数,
第二次读出的是空内容,因为文件指针在进行第一次读完后位于文件末尾处了。
'''
#f.encoding 查看文件编码格式
#f.flush() 实时刷新文件数据到硬盘上
#f.truncate(10) 无论是否有seek()或者任意的文件指针的位置,规定从文件开头截断到指定字符数,