1 本地數(shù)據(jù)獲取
1.1 文件處理步驟
- 打開文件
file_obj = open(filename,mode='r',buffering=-1)
- 讀文件/寫文件
file_obj.read() / file_obj.write()
- 關(guān)閉文件 (python)
file_obj.close()
1.2 文件的打開.
file_obj = open(filename,mode='r',buffering=-1)
- filename 是強(qiáng)制參數(shù)缰趋,后面兩個是可選參數(shù)有梆。
- mode的默認(rèn)值為'r'
- buffering 默認(rèn)值為-1 (0表示不緩沖,1或大于1的值表示緩沖一行或指定緩沖區(qū)大小)钞翔,為了加快讀寫速度驾霜,盡量使用緩沖
python文件模式
1.3 文件相關(guān)的函數(shù)
open()函數(shù)返回的一個文件file對象
文件對象可迭代
-
文件對象的關(guān)閉和讀寫
f.read()赶盔、f.write()斤程、f.readline()、f.readlines()乖酬、f.writelines()
f.close()死相、 f.seek() 寫文件-f.write() / 讀文件-f.read()
其他讀寫函數(shù) f.readlines() / f.readline() / f.writelines()
fileobj = open(r'H:\pythonTest1.txt')
cNames = fileobj.readlines()
print cNames
file_obj.close()
['line1\n', 'line2\n', 'line3'] 輸出了文件中的所有行,包含換行符咬像,如果要去除換行符算撮,需要strip函數(shù),python中讀取和寫入都不去除和加入換行符县昂,要自己處理肮柜。
python中沒有writeline方法,因?yàn)檫@個與write方法類似倒彰,都是寫入單行
- 其他文件相關(guān)函數(shù)
file_obj.seek(offset,whence=0)
在文件中移動文件指針素挽,從whence(0表示文件頭部,1表示當(dāng)前位置狸驳,2表示文件尾部)偏移offset個字節(jié)
whence參數(shù)可選,默認(rèn)值為0
1.4 文件讀寫例子
打開一個文件缩赛,將每行的字符串加上序號1,2,3耙箍,然后寫到另一個文件中。
f1 = open(r"H:\\companies1.txt")
cNames = f1.readlines() #讀取文件中所有的行
for i in range(0,len(cNames)):
cNames[i] = str(i+1) + ' ' +cNames[i] #追加序號到每個字符串中
f1.close
f2 = open(r"H:\\companies3.txt",'w')
f2.writelines(cNames)
f2.close()