python-文件操作和異常處理

一、文件的介紹
1.文件的作用
使用文件的目的:保存數(shù)據(jù)存放在磁盤把一些存儲(chǔ)存放起來,可以讓程序下一次執(zhí)行的時(shí)候直接使用,而不必重新制作一份,省時(shí)省力
二、文件的打開與關(guān)閉
步驟:新建--寫入數(shù)據(jù)--關(guān)閉

2.1 打開文件

在python,使用open函數(shù),可以打開一個(gè)已經(jīng)存在的文件,或者創(chuàng)建一個(gè)新文件open(文件名,訪問模式)
格式

f = open(‘文件’, 'w')或者f = open('文件', 'r')

如下圖所示:不同的打開文件的方式

image

常見的文件操作有:寫,讀,追加

2.1.1 寫數(shù)據(jù)(write)

  • 格式
對象 = open("文件",w)
對象.write("寫入數(shù)據(jù)")
對象.close

  • 案例:以寫的方式打開文件,寫入數(shù)據(jù)
f = open('test.txt', 'w')
f.write('hello world, i am here!')
f.close()

  • 繼續(xù)寫入數(shù)據(jù)
f = open('test.txt', 'w')
f.write('I love you')
f.close()

  • 總結(jié):
如果文件不存在那么創(chuàng)建,如果存在那么就先清空,然后寫入數(shù)據(jù) 

2.1.2 讀數(shù)據(jù)(read)

  • 案例:以讀的方式打開文件,讀取數(shù)據(jù)
  • 格式
對象 = open("文件",r)
變量 = 對象.read()
print(變量)

  • 案例:讀取文件(test.txt)
f = open('test.txt', 'r')
content = f.read()
print(content)

  • 總結(jié):
如果用open打開文件時(shí),如果使用的"r",那么可以省略,即只寫 open('test.txt')
如果沒有文件,打開報(bào)錯(cuò),存在該文件才能操作
如果文件中存在中文顯示,會(huì)出現(xiàn)亂碼需要添加encoding='utf-8'
open(‘test.txt’,”r”, encoding='utf-8')

  • 思考:如果只想讀取幾個(gè)字怎么操作?
  • 案例:讀取指定長度的數(shù)據(jù)(單位是字節(jié))
f = open('test.txt', 'r')
content = f.read(5)  # 最多讀取5個(gè)數(shù)據(jù)
print(content)

注意:
使用read(num)可以從文件中讀取數(shù)據(jù),num表示要從文件中讀取的數(shù)據(jù)的長度(單位是字節(jié)),如果沒有傳入num,那么就表示讀取文件中所有的數(shù)據(jù)

2.1.3 讀數(shù)據(jù)(readlines)

就像read沒有參數(shù)時(shí)一樣,readlines可以按照行的方式把整個(gè)文件中的內(nèi)容進(jìn)行一次性讀取,并且返回的是一個(gè)列表,其中每一行的數(shù)據(jù)為一個(gè)元素

  • 格式
對象 = open("文件",r)
變量 = 對象.readlines()
print(變量)

  • 案例:讀取文件(test.txt)
f = open('test.txt', 'r')
content = f.readlines()
print(content)
print(type(content))

2.1.4 讀數(shù)據(jù)(readline)

readline可以按照行的方式把整個(gè)文件中的內(nèi)容進(jìn)行一行一行的讀取

  • 格式
對象 = open("文件",r)
變量 = 對象.readline()
print(變量)

  • 案例,一行一行讀取
f = open('a.txt', 'r', encoding='utf-8')
while True:
        content = f.readline()
        if content:
            print(content)
        else:
            break
        break

2.1.5 可寫(a)

格式

對象 = open("",a)
對象.write("寫入數(shù)據(jù)")
對象.close

案例,在文件中寫入數(shù)據(jù)

f = open("test.txt",a)
f.write("新的數(shù)據(jù)")
對象.close

總結(jié):

(可寫)形式打開文件,如果文件不存在則創(chuàng)建并從頭添加寫入的內(nèi)容,存在則原有數(shù)據(jù)后追加數(shù)據(jù)

2.1.6 讀數(shù)據(jù)(rb)

格式1

對象 = open("二進(jìn)制文件",rb)
變量= 對象.read()
print(變量)

格式2

with open("二進(jìn)制文件","rb") as 對象:
    變量 = 對象.read()
    print(變量)
案例:使用盡可能多的方式實(shí)現(xiàn)讀取圖片
f = open('33.jpg', 'rb')
content = f.read()
print(content)
with open("33.jpg","rb") as rf:
    res = rf.read()
    print(res)
使用習(xí)慣:格式2中不需要手動(dòng)關(guān)閉文件,所以經(jīng)常被使用

總結(jié)

如果沒有文件,打開報(bào)錯(cuò),存在該文件才能操作

2.1.7 寫數(shù)據(jù)(wb)

格式

with open("二進(jìn)制文件","wb") as 對象:
    變量 = 對象.write()
    print(變量)

案例:備份圖片

with open("1.jpg","rb") as rf:
    res = rf.read()
    with open("textjpg.jpg", "wb") as wf:
        res = wf.write(res)
    print(res)

2.2 關(guān)閉文件
格式

close( )

三、文件和文件夾的操作

文件的相關(guān)操作
有些時(shí)候,需要對文件進(jìn)行重命名、刪除等一些操作,python的os模塊中都有這么功能

3.1 文件重命名

os模塊中的rename()可以完成對文件的重命名操作

格式

import os
os.rename("需要修改的文件名","新文件名")

案例:

import os
os.rename("test.txt","new.txt")

3.2 刪除文件

os模塊中的remove()可以完成對文件的重命名操作

格式

import os
os.remove("文件名")

案例:

import os
os.rename("new.txt")

文件夾的相關(guān)操作

2.1 創(chuàng)建文件夾

os模塊中的mkdir()可以完成對文件的重命名操作

2.2 獲取當(dāng)前目錄

os模塊中的getcwd()可以獲取當(dāng)前目錄

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、文件的介紹 1:文件的作用 使用文件的目的:保存數(shù)據(jù)存放在磁盤把一些存儲(chǔ)存放起來,可以讓程序下一次執(zhí)行的時(shí)候直...
    c_dab5閱讀 310評(píng)論 0 0
  • 目錄具體內(nèi)容文件操作1:文件操作介紹2:文件的打開與關(guān)閉 3:文件的讀寫4:文件及文件夾的相關(guān)操作異常處理1:異...
    Anwfly閱讀 1,445評(píng)論 0 5
  • 目錄具體內(nèi)容 文件操作 1:文件操作介紹 2:文件的打開與關(guān)閉 3:文件的讀寫 4:文件及文件夾的相關(guān)操作 異常處...
    遺憾與人海中閱讀 227評(píng)論 0 0
  • 一、文件的介紹 1 :什么是文件? 2 文件的作用 使用文件的目的:保存數(shù)據(jù)存放在磁盤 二、文件的打開與關(guān)閉 步...
    ln111閱讀 227評(píng)論 0 0
  • 一、關(guān)于文件 文件的作用:把一些數(shù)據(jù)儲(chǔ)存起來 使用文件流程:打開文件,讀寫文件,關(guān)閉文件 二、讀寫文件簡單操作 1...
    愛斷點(diǎn)閱讀 791評(píng)論 0 0

友情鏈接更多精彩內(nèi)容