PYTHON程式語言的學習-5
在這個講次當中我們學習如何使用檔案(FILE)。
1. 開啟檔案與讀
- 將整個檔案一次讀進
開啟一個檔案,並從這個檔案(readin-1.txt)中讀入資料。要特別記得,讀進來的資料是以字串的形式儲存,字串變數a的長度就是檔案文字的長度。一次讀完檔案,讀寫頭將走到檔案的末端,如果什麼事情都不做,就直接再讀一次這個檔案的話,將讀不到任何東西,b這個字串變數的長度將是0。
FL = open('readin-1.txt','r')
a=FL.read()
- 使用seek(0)倒捲檔案
FL.seek(0)
- 每次讀進一行
每次讀進一行,直到檔案的末了。變數i是字串。
FL = open('readin-1.txt','r')
for i in FL:
print('type(i)=',type(i),' i=',i,)
2. 其他從檔案讀進資料的方法
- 使用readline(), list()讀進檔案
fr.read(), list(fr)都可以一次將檔案內容全部讀入,readline()每次讀進來一行。FL.list()可以一次將檔案內容全部讀入列表L。
FL = open('readin-1.txt','r')
s=FL.read()
FL.seek(0)
while True:
line = FL.readline()
if(len(line)==0): break
print('readline=',line,)
FL.seek(0)
L=list(FL)
3. 輸出檔案
- 輸出檔案
FW = open('write-1.txt','w') #開啟輸出的檔案
FW.write('headline-------:\n'+s1+'endline--------')
FW.close() #關閉輸出的檔案
在原檔案的檔尾並沒有一個換行符號,因此當我們加入一個endline的字串之後,會跟隨在s1的字串變數後頭出現,因此會結成同一行。
4. 以格式化寫入檔案
輸出檔案
使用fw.write(s1)輸出的時候其引數為1個字串(s1),所以我們要將輸出的i,x,y,無論是整數或是浮點數都需轉換為字串,而且為了輸出畫面的清晰,我們必須使用適當的空格寬度和小數點位數。也可以使用格式化的輸出方式,請比較下面的兩個程式和其對應的輸出形式。
import math
FW = open('write-2.txt','w') #開啟輸出的檔案
pi=math.pi; sin=math.sin; N=10
for i in range(N+1):
x=2*pi/N*i
y=sin(x)
s1=str(i)+' '+str(round(x,3))+' '+str(round(y,3))+'\n'
FW.write(s1)
#FW.write('%3d %8.3f %8.3f \n' % (i,x,y))
FW.close() #關閉輸出的檔案
FR = open('write-2.txt','r')
s=FR.read()
print('s-----')
print(s)
。