Python筆記(15)檔案讀與寫詳解

2021-10-07 18:48:10 字數 3824 閱讀 9688

#!/user/bin/env python

# -*- coding:utf-8 -*-

# author:berlin

# ---------------------------注意----------------------------

# (1)檔案只有三種模式:r代表只能讀;w代表只能寫;a代表可以在文末追加文字

# (2)在w模式下,開啟open檔案時,又接著write新的文字。那麼結果是:清空原檔案的內容,寫入新的內容。

# 這種情況會造成刪庫影響。切記!!切記!!切記!!

# sing = open('《yesterday once more》歌詞','a') #檔案控制代碼

#2、寫入

# sing.write('真是好聽!\n')

# sing.write('再聽一遍。')

# 3、關閉

# sing.close()

# 例項1:開啟檔案,只能讀

# sing = open('《yesterday once more》歌詞','r') #檔案控制代碼

# print(sing.read())

# 例項2:開啟檔案,只能寫(注意:此處寫代表重寫檔案,會造成刪庫影響。謹慎使用!!!!!切記!!!)

# sing = open('《yesterday once more》歌詞','w') #檔案控制代碼

# sing.write('真是好聽!\n')

# sing.write('再聽一遍。')

# 例項3:開啟檔案,並且在文末追加文字

# sing = open('《yesterday once more》歌詞','a') #檔案控制代碼

# sing.write('\n真是好聽!\n')

# sing.write('再聽一遍。')

#例項4:開啟檔案,既能讀也能寫(類似於追加)(讀寫)

# sing = open('《yesterday once more》歌詞','r+') #檔案控制代碼

# sing.readline() # 先列印3行

# sing.readline()

# sing.readline()

# sing.tell()

# sing.write('--------------------------新加----------------')

# sing.readline() #繼續列印

#例項4:開啟檔案,既能寫也能讀(寫讀)

# sing = open('《yesterday once more》歌詞','r+') #檔案控制代碼

# sing.write('------新的一句---') # 先建立乙個新檔案寫4行

# sing.write('------新的一句---')

# sing.write('------新的一句---')

# sing.write('------新的一句---')

# print(sing.tell())

# sing.seek(5)

# print(sing.tell())

# print(sing.readline())

# sing.write('!!!!!!!!!!!!!!!繼續寫!!!!!!') #繼續寫入

# sing.closed #關閉

#例項5:開啟檔案,追加讀寫

# sing = open('《yesterday once more》歌詞','a+') #檔案控制代碼

# sing = open('《yesterday once more》歌詞','rb') #檔案控制代碼

#例項6:開啟檔案,寫二進位制檔案

# sing = open('《yesterday once more》歌詞','wb') #檔案控制代碼

#讀取前五行

# sing = open('《yesterday once more》歌詞','r') #檔案控制代碼

# for i in range(5):

# print(sing.readline())

#迴圈該檔案所有行,但跳過第十行不列印

# (1)比較low的寫法

# sing = open('《yesterday once more》歌詞','r') #檔案控制代碼

# for index,i in enumerate(sing.readlines()):

# if index == 9:

# print('----------------------------------------我是分割線----------------------------------------')

# continue

# print(i)

#(2)高階寫法,效率高的寫法

# sing = open('《yesterday once more》歌詞', 'r') # 檔案控制代碼

# count = 0

# for i in sing:

# if count == 9:

# print('--------------------------我是分割線----------------------------------------')

# count += 1

# continue

# print(i)

# count += 1

#tell和seek的用法

# sing = open('《yesterday once more》歌詞', 'r') # 檔案控制代碼

# print(sing.tell()) #該tell指初始字元所在的位置的index

# print(sing.read(50))

# print(sing.tell()) #該tell指讀取50行字元所在的位置的index

# sing.seek(0) #該seek指返回到指定index的位置

# print(sing.readline())

#檢視檔案使用的字元編碼

# sing = open('《yesterday once more》歌詞', 'r') # 檔案控制代碼

# print(sing.encoding)

## sing = open('《yesterday once more》歌詞', 'r') # 檔案控制代碼

# print(sing.buffer)

#方法是用來重新整理緩衝區的,即將緩衝區中的資料立刻寫入檔案,同時清空緩衝區,不需要是被動的等待輸出緩衝區寫入。

# 一般情況下,檔案關閉後會自動重新整理緩衝區,但有時你需要在關閉前重新整理它,這時就可以使用 flush() 方法。

# sing = open('《yesterday once more》歌詞', 'r') # 檔案控制代碼

# print(sing.flush())

# (1)flush實現進度條作用:

# import sys,time

# for i in range(20):

# sys.stdout.write('#') #stdout指標準輸出,stdin指標準輸入

# sys.stdout.flush()

# time.sleep(0.1) #指定時間間隔

#truncate指截斷

# sing = open('《yesterday once more》歌詞', 'a') # 檔案控制代碼

# sing.truncate(sing.seek(20) ) #先是指定到第20個字元,然後從20開始截斷

20201214 3 檔案讀與寫詳解1

5.檔案操作 對檔案操作流程 1.開啟檔案,得到檔案控制代碼並賦值給乙個變數 2.通過控制代碼對檔案進行操作 3.關閉檔案 5 1 開啟檔案 data open yesterday encoding utf 8 read print data python 預設編碼 是 utf 8 如果開啟不指定,...

15,檔案操作

所有檔案都採用二進位制方式記錄數字 如果檔案裡的所有二進位制內容都對應字元則這種檔案叫文字檔案 除了文字檔案以外的所有檔案叫做二進位制檔案 文字檔案可以當作二進位制檔案使用 檔案操作的基本步驟 1.開啟檔案 fopen 2.操作檔案 fread fwrite 3.關閉檔案 fclose fopen函...

15 檔案操作

define crt secure no warnings include 標準輸入輸出庫 include 系統庫 include define buf size 1024 typedef struct stu stu int fwritestr char pcfilename,char pc in...