''' 对文件的操作步骤 1、打开文件、获得文件句柄并取值给一个自变量 2、根据句柄对文件开展实际操作 3、关掉文件 ''' ''' data = open('yesterday',encoding='utf-8').read() #就是指将运行内存拷贝到自变量来改动,无意义,一切正常格式应当为下列 #windows默认设置编码格式是GBK,py是utf-8,要用encoding特定‘utf-8’开启。 f = open('yesterday','r',encoding='utf-8') data = f.read() data2 = f.read() data2 = f.read() print(data) print('data2 ===>',data2) #这儿不打因data2并不是沒有复印,只是文件的所读鼠标光标早已指到文件底端,未能在指会文件第一部。
w = open('yesterday2','w',encoding='utf-8')#文件句柄,便是该文件的运行内存目标。包括文件名、字段名、尺寸、叙述。标准:加'r'默认设置不用为读方式。注!!!:’w‘立即建立空缺文件。 w.write('wo ai BeiJingTianAna\n') w.write('wo ai wulingmin') print(w)
a = open('yesterday3','a',encoding='utf-8')# 加'a'是append,增加的含意,不可以读。 a.write('wo ai BeiJingTianAna\n') a.write('wo ai wulingmin\n') print(a)
a.close() #关掉文件 w.close() f.close()
f = open('yesterday','r',encoding='utf-8') for i in range(5): print(f.readline()) #读一行,用for 句子读5行
f = open('yesterday','r',encoding='utf-8') for index,line in enumerate(f.readlines()):#找字符 index。 if index == 1: print('------------------') continue # 不实际操作,再次分辨。 elif index == 11: print('==================') break #撤出循环系统。 print(line.strip()) #复印文件中绕过第二行及其到第12行撤出。 #注:readlines只有读小文件,不建议读大文件,由于是立即所有载入到运行内存中,占运行内存大。
#当想复印文件中的个数,提议选用下列方法: #规范: f = open('yesterday','r',encoding='utf-8') count = 0 for line in f: #这类是一行一行载入到运行内存,并一行一行从运行内存中删掉。 使f变为迭代器。 if count == 9: print(' ') count = 1 continue else:print(line) count =1 #复印文件’yesterday‘,在其中第10行,不复印。 f.close()
'''
f = open('yesterday','r',encoding='utf-8') print(f.tell()) #复印当今文件所复印的表针。 print(f.read(5)) #复印当今文件的前五个标识符。’Yeste‘ print(f.readline()) #复印当今文件的一行。’rday, all my troubles seemed so far away‘ print(f.tell()) #复印当今文件所复印的表针。 f.seek(0) #将表针指回0。 print(f.readline()) #复印当今文件的一行。#’Yesterday, all my troubles seemed so far away‘
print(f.flush()) #由于存电脑硬盘前,会先让运行内存存到缓存文件,缓存文件满了后再放进电脑硬盘。flush是立即放进电脑硬盘。 #例: import sys, time for i in range(50): sys.stdout.write("#") # sys.stdout 复印不自动换行。 sys.stdout.flush() # 立即复印。没放缓存文件条。 time.sleep(0.05)
print(f.closed) #分辨文件是不是被关掉。
f = open('yesterday2','a',encoding='utf-8') print(f.truncate(10)) #断开文件‘yesterday2’10个标识符。