1 f = open("歌詞", encoding = "
utf-8")
2 data =f.read()
3print
(data)
4f.close()5#
1126
#234457#
1233558#
153454451515
另一種方式,不需自己close()
1 with open("a.txt
","w
") as f:
2 f.write('
jgsgj')
3#jgsgj
同時開兩個
1 with open("a.txt
","w
") as f1, \
2 open("
b.txt
","w
") as f2:
3 f1.write('
jgsgj')
4#a.txt jgsgj
5 f2.write('
jgsgj')
6#b.txt jgsgj
讀取檔案中真正的換行符
1 f = open("test22
","r
",encoding = "
utf8
",newline ="")2
(f.readlines())3#
['11111\n', 'wwerqr\n', '134tw']
.readable()
判斷是否可讀
.readline()
每多寫一次多讀一行
1 f = open("歌詞", "
r",encoding = "
utf-8")
2#限制為唯讀: r
3print
(f.readable())4#
true
5print
(f.readline())6#
1127
(f.readline())8#
1129#10
#23445
注意:read()是讀取全部,則再readline()是空的
.readlines()
把所有內容按行讀取出來,列印成列表
1 f = open("歌詞", "
r",encoding = "
utf-8")
2 data =f.readlines()
3print
(data)4#
['112\n', '23445\n', '123355\n', '153454451515']
重建新文件,寫模式
.writable()
判斷是否可寫
.write()
寫入
1 f= open("寫","
w",encoding = "
utf8")
2 f.write("
12432\n")
3 f.write("
wewjqwlg")
4 f.write("
qwnegq")
5#124326#
wewjqwlgqwnegq
.writelines()
寫入
1 f= open("寫","
w",encoding = "
utf8")
2 f.writelines(["
wengng\n
","wqengng\n
","weq\n"])
3 f.write("
aaqwlg\n")
4 f.write("
aaegq")
5#wengng6#
wqengng7#
weq8
#aaqwlg9#
aaegq
注意:檔案內容只能是字串,只能寫字串
1 f= open("寫","
a",encoding = "
utf8")
2 f.writelines(["
寫在最後一行\n"])
3#aaegq4#
寫在最後一行
其他模式:
r+ :讀寫
在原檔案的最上面寫
w+ :寫讀
x+ :寫讀
a+ :寫讀
b的模式:
rb 或 r+b
以二進位制的方式操作檔案,不能指定編碼
1 f = open("test11.py
","rb
",encoding = "
utf8")
2#wrong 因為已經是二進位制的方式編碼了
可以設定解碼
1 f = open("test11
","rb")
2 data =f.read()3#
"字串」——encode——>bytes4#
bytes——decode——>"字串"
5print
(data)6#
b'234\r\nqre\r\n1011'
7print(data.decode("
utf8"))
8#2349
#qre10#
1011
注意:\r\n代表換行
wb 或 w+b
1 f = open("test22
","wb")
2 f.write(b'
11111\n
') #
以二進位制方式寫入,,僅ascii字元可以
3 f.write(bytes("
2222
",encoding = "
utf8
")) #
轉成二進位制,指定編碼寫入
4 f.write("
楊".encode("
utf8"))
5#111116#
2222楊
xb 或 x+b
ab 或 a+b
會直接在最後一行後面寫
1 f = open("test22
","ab")
2 f.write("
lalal
".encode("
utf8"))
3#111114#
2222楊lalal
.closed
判斷檔案是否是關閉狀態
1(f.closed)2#
false
.encoding
顯示檔案的編碼型別
1 f = open("test22")
2print
(f.encoding)3#
cp936
cp936 gbk
.flush()
重新整理.tell()
顯示當前游標所在位置(以位元組為單位)
1 f = open("test.txt
","r
",encoding = "
utf8")
2print
(f.tell())3#
04f.readline()
5print
(f.tell())6#
8
.readline()
讀一行,但是不列印
.seek()
用來控制游標的移動,以位元組為單位,預設從0開始。
.seek(a,1) 以相對位置移動a位元組,1就代表相對位置移動
.seek(-a,2) 倒著移動a位元組
.read()
讀取游標的位置,以字元為單位
讀取日誌的最後一行內容:
1 f = open("test.txt
","rb")
2for i in
f:3 char = - 15
4while
true:
5 f.seek(char,2)
6 date =f.readlines()
7if len(date) > 1:
8print("
檔案最後一行是%s
" %(date[-1].decode("
utf8
")))
9break
10else
:11 char *= 2
.truncate()
擷取,是一種寫操作
Python基礎 八 檔案操作
在工作中常常會涉及到檔案操作,例如日誌記錄,生成測試報告等。python常用的檔案操作主要包括開啟 讀取,寫入 關閉。一 開啟檔案 使用open file,mode,encoding 方法,其中 例如 f open file test.txt mode r encoding utf 8 open 方...
python 系統學習筆記(八) 檔案操作
模式 描述r 以讀方式開啟檔案,可讀取檔案資訊。w 以寫方式開啟檔案,可向檔案寫入資訊。如檔案存在,則清空該檔案,再寫入新內容 a 以追加模式開啟檔案 即一開啟檔案,檔案指標自動移到檔案末尾 如果檔案不存在則建立r 以讀寫方式開啟檔案,可對檔案進行讀和寫操作。w 消除檔案內容,然後以讀寫方式開啟檔案...
python學習筆記14(檔案讀寫)
讀檔案 python讀檔案流程 1 開啟檔案 2 讀檔案內容 3 關閉檔案 注釋 1 開啟檔案 open path,flag encoding errors path 要開啟檔案的路徑 路徑前加r flag 開啟方式 r 以唯讀的方式開啟檔案,檔案的描述符放在檔案的開頭 rb 以二進位制格式開啟乙個...