day3 python 讀寫檔案

2022-08-31 06:24:10 字數 1716 閱讀 3494

1、開啟檔案

open()

f=open('haha')   #開啟乙個名為haha的txt檔案,不寫字尾預設txt檔案,其他型別檔案必須寫字尾

2、read()讀取檔案內容

print(f.read()) #閱讀模式,獲取裡面所有的內容,該模式只能讀取內容,不能對其進行修改。

有時候會產生該錯誤,表示gbk解碼時報錯,存在一些字元不能使用gbk來解碼(例如中文) 所以我們可以在open()中再新增乙個引數 encoding='utf-8' 就可以解決該問題。

若檔案不存在執行,會報錯。

在讀取路徑時,比如c:\\niu\\desktop 這種,open在開啟檔案時會把c:\\niu 認為裡面有乙個\n,所以我們可以在檔案路徑前加乙個r,比如f=open(r'c:\\niu\\desktop\haha')  表示原字元,不需要轉義。

print(f.readline()) #讀取一行資料

print(f.readlines())#獲取檔案裡面所有的資料,每一行資料放到乙個list裡面

print(f.read()) #獲取全部檔案內容

依次執行上面三種函式,讀取時,readline讀取第一行,readlines 讀取剩餘內容,read讀取不到內容,產生這種原因,是因為檔案指標的原因。

檔案指標:開啟檔案,預設指標在前,readline 讀取第一行,讀取完後,指標讀取到第二行,readlines表示讀取全部,所以將檔案所有內容都讀取完,指標讀取到最後,再使用read讀取的時候,就讀取不到任何東西了。

3、write()寫

f.write()  修改檔案內容,該模式只能修改不能讀,若使用此函式,則需要去資料夾看,謹慎使用該函式,修改後無法撤回。

f.write('kkkkk') 

names=['lxy','zyf','zxd','lcs']

for name in names:

print(name+'\n')   #依次讀出來,然後換行 

writelines([list])  #傳乙個list,然後把list裡面的每乙個元素寫入到檔案中

1 names=['lxy','zyf','zxd','lcs']

2  writelines(names)

換行的話,可以在陣列裡面加\n

names=['lxy\n','zyf\n','zxd\n','lcs\n']

4、檔案的模式:

讀模式 r:預設讀模式,只能讀,不能寫,檔案不存在會報錯;

寫模式 w:寫模式,只能寫,會覆蓋以前檔案裡面的內容,不能讀,檔案不存在會新建;

讀寫模式 r+:可以讀,可以寫,檔案不存在會報錯;

寫讀模式 w+:可以讀,可以寫,檔案不存在會建立;

追加模式 a:只能寫,不能讀,檔案不存在會建立,不會清空以前的內容;

追加模式 a+:讀寫模式,檔案不存在會建立,能讀能寫,不會清空以前的內容。

只要沾上r,檔案不存在都會報錯;

只要沾上w,檔案內容肯定會被清空。

5、追加模式 a+

f=open('hh','a+')

f.seek(0)  #移動指標到最前面

f.close()  #關閉檔案

day3 python 集合 檔案

字典是無序的,列表是有序的 a zhangsan print a 1 a 2 222 字串不能賦值集合 set 把不同的元素組成一起形成集合 info 1,2,34,5,6,7 info set info print info 或info 1,2,34,5,6,7 se set info print...

Day3 python基礎資料型別

目錄 1 基礎資料型別概覽 2 int 數字型 3 bool 4 str 5 for迴圈 1 int 數字型 主要用於計算 2 str 字串 存少量資料 3 bool 反饋真 假 4 list 列表 可存各種資料型別,操作方便 5 tuple 元組 可讀列表 6 dic 字典 配對鍵值對 7 set...

Day3 Python資料型別與運算

f int input 請輸入華氏溫度 c f 32 1.8 print d華氏溫度是 2d攝氏溫度 f,c 2.求解 次 方程ax b 0,程式提示 使用者輸 a和b的值,然後輸出方程的根。程式運 效果如下。請輸 一次 方程的係數a 2 請輸 一次 方程的常量 b 6 次 方程2x 6 0 的根是...