1 本地?cái)?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ù),后面兩個(gè)是可選參數(shù)。
- mode的默認(rèn)值為'r'
- buffering 默認(rèn)值為-1 (0表示不緩沖,1或大于1的值表示緩沖一行或指定緩沖區(qū)大小),為了加快讀寫速度,盡量使用緩沖

python文件模式
1.3 文件相關(guān)的函數(shù)
open()函數(shù)返回的一個(gè)文件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)檫@個(gè)與write方法類似,都是寫入單行
- 其他文件相關(guān)函數(shù)
file_obj.seek(offset,whence=0)
在文件中移動(dòng)文件指針,從whence(0表示文件頭部,1表示當(dāng)前位置,2表示文件尾部)偏移offset個(gè)字節(jié)
whence參數(shù)可選,默認(rèn)值為0
1.4 文件讀寫例子
打開一個(gè)文件,將每行的字符串加上序號1,2,3,然后寫到另一個(gè)文件中。
f1 = open(r"H:\\companies1.txt")
cNames = f1.readlines() #讀取文件中所有的行
for i in range(0,len(cNames)):
cNames[i] = str(i+1) + ' ' +cNames[i] #追加序號到每個(gè)字符串中
f1.close
f2 = open(r"H:\\companies3.txt",'w')
f2.writelines(cNames)
f2.close()