Python-Day10

文件操做

1、打開文件

文件句柄 = open('文件路徑', '模式')指針

打開文件時,須要指定文件路徑和以何等方式打開文件,打開後,便可獲取該文件句柄,往後經過此文件句柄對該文件操做。code

打開文件的模式有:基本的方式 encoding='utf-8' ----> 字符串類型utf-8

r ,只讀模式【默認】
# 只讀 'r'
f = open('x.log', 'r', encoding='utf-8')
r = f.read()
# f.write('hahah') 報錯
f.close()
print(r)
w,只寫模式【不可讀;不存在則建立;存在則清空內容;】
f = open('x1.log', 'w')
f.write('hahah')
f.close()
x, 只寫模式【不可讀;不存在則建立,存在則報錯】
f = open('x3.log', 'x')
f.write('hahah')
f.close()
a, 追加模式【不可讀;不存在則建立;存在則只追加內容;】
f = open('x3.log', 'a')
f.write('hahahqqqqqqqqqqqqqqqqq')
f.close()

"+" 表示能夠同時讀寫某個文件

r+, 讀寫【可讀,可寫】
w+,寫讀【可讀,可寫】
x+ ,寫讀【可讀,可寫】
a+, 寫讀【可讀,可寫】

"b"表示以字節的方式操做 -----> 字節類型

rb 或 r+b
f = open('x.log', 'rb')
r = f.read()
f.close()
print(r, type(r))
print(str(r, encoding='utf-8'))
wb 或 w+b
f = open('x.log', 'wb')
f.write(bytes('buzhidao你好xingbuxing', encoding='utf-8'))
f.close()
xb 或 x+b
ab 或 a+b

注:以b方式打開時,讀取到的內容是字節類型,寫入時也須要提供字節類型字符串


文件操做與指針

f.seek(num) 改變指針到num字節處,而後從num處讀寫

f.tell() 獲取當前指針的位置

寫操做完成後指針指向最後位置,再讀的話讀不出內容出來

r 模式會將指針放在文件開始位置處,w 會清空文件而後把指針放在文件開始處, a 模式會將指針指向文件結尾處


f.readline()會讀取一行內容it

for line in f:
    print(line)
#該操做會一次讀取一行內容

自動關閉文件:

with open('h.log', 'w+') as f:
    f.write('hahahah')
    f.seek(0)
    r = f.read()
    print(r)

with 能夠同時操做兩個文件:

with open('h.log', 'r') as f, open('h2.log', 'w') as f2:
    for line in f:
        f2.write(line)
#複製操做
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息