這篇文章主要介紹了Python對文件操作知識總結的相關資料,非常具有參考借鑒價值,需要的朋友可以參考下
打開文件
操作文件
1開啟檔案時,需要指定檔案路徑與開啟方式
#開啟方式:
#r:只讀
w:只寫
a:追加
「+」表示可以同時讀寫某個檔案
r+:讀寫
w+:寫讀
a+:同a
U "表示在讀取時,可以將\r \n \r\n自動轉換成\n (與r 或r+ 模式同使用)
rU
r+U
"b"表示處理二進位檔案(如:FTP傳送上傳ISO鏡像文件,linux可忽略,windows處理二進位檔案時需標註)
rb
wb
ab
f = open('test.log','r+',encoding='utf-') f.write('saf中sdhgrbfds') print(f.tell()) #查看当前指针位置,以字符为单位 f.seek() #指定当前指针位置,以字节为单位 print(f.read()) f.truncate() #读取指针之前的数据 print(f.tell()) f.close()
二:常見的檔案運算
#f = open('data', 'r') #以唯讀形式開啟(預設就是唯讀)
f = open('f.txt', encoding='latin-1') #python3.0 Unicode檔
string = f.read() #把檔案讀入一個字串中
string = f.read(N) #讀取指標後的N個位元組
string = f.readline() #讀取下一行,包括行末標識符
alist = f.readlines() #讀取整個檔案到字串清單
f.write() #將字串寫入檔案
f.writelines() #將清單內所有字串寫入文件
f.close() #手動關閉
f.flush() #把輸出緩衝區刷到硬碟中
f.seek(N) #將檔案指標移到N處,以位元組為單位
for line in open('data'):
print(line) #檔案迭代器將檔案一行行讀出
open('f.txt','r').read() #read all at ance into string
三:在檔案中儲存並解析python物件
x,y,z = 41,42,43 s = 'spam' D = {'a':1, 'b':2} #字典对象 L = ['a','b','c'] #列表 f = open('f.txt','w') f.write(s + '\n') f.write('%s,%s,%s\n'%(x,y,z)) f.write(str(D)) f.write('\n') f.write(str(L)) f.close() print(open('f.txt').read()) #将文件内容输出 #从文件中取出数据,并判断其类型 ''' a = fi.readline() b = fi.readline() c = fi.readline() d = fi.readline() print(a,b,c,d,type(a),type(b),type(c),type(d)) ''' # 从文件中取出数据,并转换为存储前的类型 fi = open('f.txt') a = fi.readline().rstrip() #rstrip()去掉换行符 print(a,type(a)) b = fi.readline().rstrip().split(',') #字符串的split()方法,在括号中写入分隔符,将字符串分割为列表。 print(b,type(b)) c = fi.readline() C = eval(c) #调用内置函数eval(),将字符串转化为可执行的python代码。 print(C,type(C),type(c)) d = fi.readline() D = eval(d) print(D,type(D),type(d))