標籤:key 迴圈 std 路徑 版本 dex python3 答案 nta
python/檔案操作:
1.開啟檔案
| 123 |
使用open() 檔案控制代碼 = open(‘檔案路徑‘, ‘模式‘) |
2.檔案操作
| 1 |
開啟檔案時,需要指定檔案路徑和以何等方式開啟檔案,開啟後,即可擷取該檔案控制代碼,日後通過此檔案控制代碼對該檔案操作。 |
開啟檔案的模式有:
r ,唯讀模式【預設模式,檔案必須存在,不存在則拋出異常】w,唯寫模式【不可讀;不存在則建立;存在則清空內容】x, 唯寫模式【不可讀;不存在則建立,存在則報錯】a, 追加模式【可讀; 不存在則建立;存在則只追加內容】 "+" 表示可以同時讀寫某個檔案 r+, 讀寫【可讀,可寫】w+,寫讀【可讀,可寫】x+ ,寫讀【可讀,可寫】a+, 寫讀【可讀,可寫】 "b"表示以位元組的方式操作 rb 或 r+bwb 或 w+bxb 或 w+bab 或 a+b 註:以b方式開啟時,讀取到的內容是位元組類型,寫入時也需要提供位元組類型,不能指定編碼 3.關閉檔案 使用close() 補充:with語句內建使用close()方法, 這也是為了防止開啟檔案忘記關閉 比如: with open() as f_read:#開啟檔案 是不需要添加close()的。
二.檔案操作
1.read 檔案名稱.read(n):讀取指定個數的字元,檔案從游標位置開始 注意:python3版本讀取的是字元 python2版本讀取的是位元組 在讀取完第一次字元時,第二次讀取從上次讀取完的字元開始 比如:
f.readline 讀取一行,游標到下一行行首f.readlines 顯示列表結果,每一個元素是一行內容 行與字串的拼接使用join用法檔案名稱.join([檔案名稱,“需要添加的字串”])迴圈整個檔案,並在一行中拼接使用for迴圈 2.writef =open(name,mode=w) 修改檔案可讀許可權檔案名稱.write("") 覆蓋檔案資訊 檔案名稱.write("\n") 換行 f =open(name,mode="a")追加資訊,原來檔案資訊不變 f =open(name,mode="x")原有的檔案不覆蓋,會報錯;沒有的檔案重新建立 f=write("")把內容添加到記憶體,在一定時間內顯示出來 f.writelines(["11\n","22\n"])寫多行f.truncate() 截斷 只能在寫入權限操作
3.可讀可寫入模式:
f = open("test",mode="r",encoding="utf8")data = f.read(5)data2 = f.read(6)print(data)print(data2)得到的答案是global
r+ 追加寫 預設游標在開始位置w+ 首先會覆蓋,清空,然後再寫,seek調整 a+ 總是在最後位置添加。游標在檔案最後位置 無論游標在什麼位置,一定是追加寫: 想讀取內容:seek調增 4.flush操作f=flush("") 直接顯示,內容直接儲存在硬碟上比如:進度條操作
sys.stdout.write("")相當於print sys.stdout 檔案 迴圈列印#import sysfor i in range(10): sys.stdout.write("#") sys.stdout.flush() import time time.sleep(0.5)
顯示百分比import sysfor i in range(6): s = "\r%s%% %s"%(i,"?"*i) sys.stdout.write(s) sys.stdout.flush() import time time.sleep(0.5)
python檔案操作