讀檔案操作(open)
f=open("text.txt","r")
使用open開啟檔案後就可以開始讀檔案了,如果只用r開頭的mode讀檔案,檔案不存在,則會丟擲ioerror的錯誤,讀取成功後用函式讀取文檔案
f.read()#一次讀取所有內容
f.read(size)#每次讀取最多size個位元組的內容
f.readline()#readline() 方法用於從檔案讀取整行,包括 "\n" 字元
for line in f.readlines():#一次性對所有內容並按行返回list
print(line.strip()) # 把末尾的'\n'刪掉
#f.next():
forindex in range(5):
line = next(f)
print ("第 %d 行 - %s" % (index, line))
檔案讀取完畢後一定要呼叫f.close()關閉檔案,因為檔案物件會占用作業系統的記憶體資源,,並且作業系統同一時間能開啟的檔案數量也是有限的,一種完整的寫法:
try:
f = open('a.txt', 'r')
print(f.read())
finally:
if f:
f.close()#檔案物件一定會關閉
另外python引入了with語句來幫我們自動呼叫close()函式,就像這樣:
with
open('a.txt', 'r') as f:
print(f.read())
f = open('gbk.txt', 'r', encoding='gbk')
f.read()
f = open("foo.txt", "w",encoding="utf-8") #寫的方式開啟的檔案,encoding是轉碼的意思,告訴直譯器,是以utf-8的格式
f.write("我要學python\n") #寫入,資料夾存在覆蓋,不存在建立
f.close() #關閉資料夾
記住一定要呼叫close語句,因為作業系統會先把內容寫到記憶體中,只有呼叫close()方法時,作業系統才保證把沒有寫入的資料全部寫入磁碟,忘記呼叫,可能只寫入了一半,如果用with語句,就會避免這個錯誤:
with
open('test.txt', 'w') as f:
f.write('hello, world!')
讀寫模式:
f = open("a.txt", "w+",encoding="utf-8") #寫的方式開啟的檔案,encoding是轉碼的意思
,告訴直譯器,是以utf-8的格式
f.write("我要學python\n") #寫入,資料夾存在覆蓋,不存在建立
print("定位之前的游標位置:%s" % (f.tell()))
f.flush() #重新整理檔案使記憶體的內容重新整理至資料夾
f.seek(0,0) #因為w+讀取檔案之後會定位在檔案尾部,
所以需要重新定位一下游標位置,要不無法讀取,file.seek(off, whence=0):
從檔案中移動off個操作標記(檔案指標),正往結束方向移動,負往開始方向移動。如果設定了whence引數
,就以whence設定的起始位為準,0代表從頭開始,1代表當前位置,2代表檔案最末尾位置。
print("定位之後的游標位置:%s" % (f.tell()))
i = f.read()
print(i)
f.close() #關閉資料夾
輸出:定位之前的游標位置:17
定位之後的游標位置:0
我要學python
writelines() 方法用於向檔案中寫入一串行的字串:
seq = ["我要學python 1\n", "我要學python 2"]
fo.writelines( seq )
檔案的操作方法:
(完)
python 檔案操作
簡明 python 教程 中的例子,python 執行出錯,用open代替file 可以執行。poem programming is fun when the work is done if you wanna make your work also fun use python f open e ...
python檔案操作
1,將乙個路徑名分解為目錄名和檔名兩部分 a,b os.path.split c 123 456 test.txt print a print b 顯示 c 123 456 test.txt 2,分解檔名的副檔名 a,b os.path.splitext c 123 456 test.txt pri...
Python 檔案操作
1.開啟檔案 如下 f open d test.txt w 說明 第乙個引數是檔名稱,包括路徑 第二個引數是開啟的模式mode r 唯讀 預設。如果檔案不存在,則丟擲錯誤 w 只寫 如果檔案 不存在,則自動建立檔案 a 附加到檔案末尾 r 讀寫 如果需要以二進位制方式開啟檔案,需要在mode後面加上...