一、開啟檔案
data = open("yesterday",encoding="utf-8").read()
# python預設的打字元編碼是unicode,處理不了gbk,但是utf—8可以
print(data)
ps:這邊的yesterday檔案是一首英文歌的歌詞
在開啟的時候,一定要轉碼,否則會亂碼:encoding="utf-8"
二、讀取前幾行
會用到read( )和readline( )方法
f = open("yesterday",encoding="utf-8") # 檔案控制代碼,方法和1類似
# data = f.read() # 游標在最後面
# print(data)
# f.readline() # 讀取一行,只適合讀小檔案
for i in range(5):
print(f.readline()) # 迴圈之後讀取四行
三、讀取前幾行(優化版)
用到了迭代器,所以不會像二一樣占用太大的記憶體,最後只會占用一行的記憶體
f = open("yesterday",encoding="utf-8")
# 實現前九行的輸入,並且在第九行輸入分割線
count = 0
for line in f:
if count == 9:
print("--------分割線-------")
count += 1
continue
print(line) # 迭代器!效率最高的迴圈方式,比2效率高是因為讀完一行就刪一行
四、關於檔案的方法
python不是直接呼叫所有檔案,而是呼叫作業系統的介面i/o,通過介面來呼叫檔案
# 1.tell()方法:游標的位置
f = open("yesterday",encoding="utf-8")
print("1:",f.tell()) # 把指標的位置表示出來,0
print("2:",f.readline())
print("3:",f.tell()) # 讀完一行字元之後游標的位置
print("4:",f.readline(3))
print("5:",f.tell()) # 讀完三行字元之後游標的位置
#2.seek()方法: 游標回到第幾行
f.seek(0)
print("6:",f.tell()) # 游標重新回到了開始
# 3.encoding # 列印檔案的編碼型別
print("7:",f.encoding)
# 4.fileno() 可用於底層作業系統的 i/o介面操作。
print("8:",f.fileno())
# 5.flush()
print(f.flush()) # 實時重新整理檔案內容
其實在學習python基礎的時候,pycharm的聯想功能非常重要!
開啟檔案的模式有:
r,唯讀模式(預設)。
w,只寫模式。【不可讀;不存在則建立;存在則刪除內容;】
a,追加模式。【可讀; 不存在則建立;存在則只追加內容;】
「+」 表示可以同時讀寫某個檔案
r+,可讀寫檔案。【可讀;可寫;可追加】
w+,寫讀
a+,同a
"u"表示在讀取時,可以將 \r \n \r\n自動轉換成 \n (與 r 或 r+ 模式同使用)
rur+u
rb —讀,以二進位制模式開啟,此時不需要即encoding,
wb—寫,此時需要加入encoding
ab
python 檔案操作,讀檔案,寫檔案
讀取檔案的全部內容 def get f none try f open 致橡樹.txt r encoding utf 8 print f.read except filenotfounderror print 無法開啟指定的檔案 except lookuperror print 指定了未知的編碼 e...
Python讀檔案 寫檔案
讀檔案 在相應的資料夾下建立乙個list.txt檔案。建立乙個包含檔案各行內容的列表 將要讀取的檔案的名稱儲存在變數filename中 filename list.txt with open filename as file obj 呼叫open 將乙個表示檔案及其內容的物件儲存到了變數file o...
C語言操作檔案讀和寫
r 唯讀 讀模式 開啟檔案,從檔案頭開始讀。r 唯讀 讀寫模式 開啟檔案,從檔案頭開始讀寫。w 只寫 寫模式 開啟檔案,從檔案頭開始讀。如果該檔案已經存在,將刪除所有檔案已有內容。如果該文 件不存在,函式將建立這個檔案。w 只寫 寫模式 開啟檔案,從檔案頭開始讀寫。如果該檔案已經存在,將刪除所有檔案...