Python(44)_檔案操作
阿新 • • 發佈:2019-01-05
1 r+ 讀寫模式:先讀後寫
#-*-coding:utf-8-*- ''' 讀寫-先讀後寫 ''' f = open('log.txt',mode='r+',encoding='utf-8') print(f.read()) f.write('bowen123') f.close()
2 r+模式下先寫後讀
#-*-coding:utf-8-*- ''' 讀寫--先寫再讀 會把之前的從頭開始覆蓋,讀時候讀之前沒有覆蓋的。如果全部覆蓋,是讀不出東西的! ''' f = open('log.txt',mode='r+',encoding='utf-8') f.write('bbbbb') print(f.read()) f.close()
3 r+b
#-*-coding:utf-8-*- ''' 讀寫--r+b模式,這種寫是在後面追加,不是覆蓋 ''' f = open('log.txt',mode='r+b') print(f.read()) f.write('bowen'.encode('utf-8')) f.close()
4 a+
#-*-coding:utf-8-*- ''' 讀寫--先寫再讀 ''' f = open('log.txt',mode='a+',encoding='utf-8') f.write('bowen') f.seek(0) # 這句一定要加,否則讀的時候游標是在末尾,是讀最後是讀不到的!! print(f.read()) f.close()
5 w+ 寫讀--覆蓋模式 。這裡省略
6 seek() 函式,注意中文時的引數
#-*-coding:utf-8-*- ''' seek(0) ''' f = open('log.txt',mode='a+',encoding='utf-8') #f.write('bowen')print(content) f.seek(3) # 這句一定要加,否則讀的時候游標是在末尾,是讀最後是讀不到的!! print(f.read()) f.close()
7 read() 函式 按照字元長度來比
#-*-coding:utf-8-*- ''' read(0) ''' f = open('log.txt',mode='r+',encoding='utf-8') content = f.read(3) print(content) f.close()
8 tell()定位游標位置
#-*-coding:utf-8-*- ''' tell()定位游標位置 ''' f = open('log.txt',mode='r+',encoding='utf-8') count = f.tell() print(count) f.seek(count+3) print(f.read()) f.close()
9 readable() 是否可讀。writeable() 是否可寫
10 readline()
#-*-coding:utf-8-*- ''' f.readline(),只能讀一行 ''' f = open('log.txt',mode='r+',encoding='utf-8') print(f.readline()) f.close()
11 f.readlines()
#-*-coding:utf-8-*- ''' f.readlines() ,每一行當成列表中的元素,想讀可以用for迴圈遍歷列表 ''' f = open('log.txt',mode='r+',encoding='utf-8') print(f.readlines()) f.close()
12 f.truncate(3),從後往前把原始檔擷取,永久改變了原始檔
#-*-coding:utf-8-*- ''' f.truncate(3),從後往前把原始檔擷取,永久改變了原始檔,原始檔是博文你好 ''' f = open('log.txt',mode='r+',encoding='utf-8') #print(f.readlines()) # for li in f: # print(li) f.truncate(3) print(f.read()) f.close()
13 for迴圈列印列表
#-*-coding:utf-8-*- ''' for迴圈列印列表 ''' f = open('log.txt',mode='r+',encoding='utf-8') list=f.readlines() for li in list: print(li) f.close()
14 with open
#-*-coding:utf-8-*- ''' f是檔案控制代碼,這種方式常用,不用寫close了,可以同時開啟多個操作檔案,加個,open.... ''' with open('log.txt',mode='r+',encoding='utf-8') as f, open('傻逼.txt',mode='r+',encoding='utf-8') as b: print(b.read()) list=f.readlines() for li in list: print(li)