關(guān)于Python的各種文件操作
本文概要
本篇文章主要介紹Python的各種文件操作,適合剛?cè)腴T的小白或者對(duì)于文件操作基礎(chǔ)不太牢固的同學(xué),文中描述和代碼示例很詳細(xì),看完即可掌握,感興趣的小伙伴快來一起學(xué)習(xí)吧。
一.文件的路徑介紹
1.絕對(duì)路徑
首先,絕對(duì)路徑講的就是一個(gè)文件的絕對(duì)位置(相當(dāng)于包含了所有的目錄信息),所有層級(jí)關(guān)系是一目了然的。例如:C:/Users/86134/Desktop/python(這是我電腦上Python項(xiàng)目文件夾的絕對(duì)路徑),可以看到,它是在C盤–Users文件夾–86134文件夾–Desktop文件夾下的一個(gè)文件夾,這就是絕對(duì)路徑反饋給我們的所有信息。
2.相對(duì)路徑
有些時(shí)候,文件夾太多了,想偷偷懶??,我們把需要操作的文件放在同一個(gè)目錄下,這樣通過解釋器就可以直接在同級(jí)目錄下找到這個(gè)文件(絕對(duì)路徑就是從當(dāng)前文件所在的文件夾開始的路徑。),同樣的,上面的路徑,新建一個(gè)文件:123.txt。

它的絕對(duì)路徑:C:/Users/86134/Desktop/python/123.txt 但是,它是在Python工程文件目錄下的,可以直接這樣寫:相對(duì)路徑:./123.txt( ./ 表示的是當(dāng)前文件夾,可以省略) 是不是很驚喜,可以這樣簡潔,哇,真的很方便?。?!?????? 另外強(qiáng)調(diào)一點(diǎn)其他的:
| 路徑 | 路徑解釋 | 使用方法 |
| …/123.tx | 是指從當(dāng)前文件夾的上一級(jí)文件夾里查找 123.txt 文件 | …/ 表示的是上一級(jí)文件夾 |
二.文件的訪問模式
1.文本模式
| 文本模式 | 使用說明 |
| “r”/“rt” | 只讀,只能調(diào)用讀函數(shù),文件必須存在,否則失敗,文件指針指向頭字節(jié)。 |
| “r+” | 可讀可寫讀,讀寫函數(shù)都能調(diào)用,文件必須存在,否則失敗,文件指針指向頭字節(jié)。 |
| “w”/“wt” | 擦除寫,只能調(diào)用寫函數(shù),文件不存在時(shí)創(chuàng)建文件,文件指針指向頭字節(jié)。 |
| “w+” | 可讀可寫,讀寫函數(shù)都能調(diào)用,文件不存在時(shí)創(chuàng)建文件,文件指針指向頭字節(jié)。 |
| “a”/“at” | 附加寫,只能調(diào)用寫函數(shù),文件不存在時(shí)創(chuàng)建文件,文件指針指向尾字節(jié)。 |
| “a+” | 可讀可寫,讀寫函數(shù)都能調(diào)用,文件不存在時(shí)創(chuàng)建文件,文件指針指向尾字節(jié)。 |
2.二進(jìn)制模式
| 二進(jìn)制模式 | 使用說明 |
| “rb” | 只讀,只能調(diào)用讀函數(shù),文件必須存在,否則失敗,文件指針指向頭字節(jié)。 |
| “rb+” | 可讀可寫讀,讀寫函數(shù)都能調(diào)用,文件必須存在,否則失敗,文件指針指向頭字節(jié)。 |
| “wb” | 擦除寫,只能調(diào)用寫函數(shù),文件不存在時(shí)創(chuàng)建文件,文件指針指向頭字節(jié)。 |
| “wb+” | 可讀可寫,讀寫函數(shù)都能調(diào)用,文件不存在時(shí)創(chuàng)建文件,文件指針指向頭字節(jié)。 |
| “ab” | 附加寫,只能調(diào)用寫函數(shù),文件不存在時(shí)創(chuàng)建文件,文件指針指向尾字節(jié)。 |
| “ab+” | 可讀可寫,讀寫函數(shù)都能調(diào)用,文件不存在時(shí)創(chuàng)建文件,文件指針指向尾字節(jié)。 |
文件的打開和關(guān)閉
在Python中,使用open(file, mode=‘r’, buffering=None, encoding=None)方法打開文件; 在Python中,使用close()方法關(guān)閉文件。
三.文件的讀取和寫入
1.讀文件
好了,通過前面基礎(chǔ)知識(shí)的鋪墊,終于要開始動(dòng)手實(shí)踐了,還記得那個(gè)123.txt的文本文件嗎?我們寫入一條字符串:I love you,對(duì),沒錯(cuò),我愛你,下面,我們來讓解釋器讀取這個(gè)內(nèi)容。
①使用read()函數(shù)
使用read(path,mode)函數(shù), 讀取文件內(nèi)容,可以指定讀取長度。默認(rèn)全部讀取。
f = open('./123.txt', 'r')
#默認(rèn)全部讀取
con = f.read()
print(con)
效果展示:
E:\Python\python.exe C:\Users\86134\Desktop\python\文件操作.py I love you
②使用readline()函數(shù)
使用readline(path,mode)函數(shù),可以簡單理解,一行一行讀取,遇到換行結(jié)束(123.txt再加入一句話換行寫:My friend)。 第一次讀取:
f = open('./123.txt', 'r')
#讀取一行
con = f.readline()
print(con)
效果展示:
E:\Python\python.exe C:\Users\86134\Desktop\python\文件操作.py I love you 進(jìn)程已結(jié)束,退出代碼0
第二次讀?。?/strong>
f = open('./123.txt', 'r')
con = f.readline()
#第二次讀取
c = f.readline()
print(c)
效果展示:
E:\Python\python.exe C:\Users\86134\Desktop\python\文件操作.py My friend 進(jìn)程已結(jié)束,退出代碼0
③使用readlines()函數(shù)
使用readlines(path)函數(shù),可以簡單理解,多行讀取,返回一個(gè)列表。
f = open('./123.txt', 'r')
con = f.readlines()
print(con)
效果展示:
E:\Python\python.exe C:\Users\86134\Desktop\python\文件操作.py ['I love you\n', 'My friend'] 進(jìn)程已結(jié)束,退出代碼0
2.寫文件
①使用write()函數(shù)
向文件中寫數(shù)據(jù),我們使用write(path)函數(shù)來完成。
f = open('./123.txt', 'w')
#加入數(shù)據(jù)
f.write('you')
效果展示:
E:\Python\python.exe C:\Users\86134\Desktop\python\文件操作.py 進(jìn)程已結(jié)束,退出代碼0
效果圖:

突然發(fā)現(xiàn),我們之前的數(shù)據(jù)都沒了,是不是我不愛你了,并不是,還記得文件的訪問模式嗎,知道你肯定忘了,“w”/“wt” 擦除寫,只能調(diào)用寫函數(shù),文件不存在時(shí)創(chuàng)建文件,文件指針指向頭字節(jié)。(細(xì)節(jié)看鼠標(biāo))。
四.文件操作(OS模塊的使用)
1.創(chuàng)建文件夾
使用mkdir()函數(shù)
創(chuàng)建文件夾,我們使用mkdir(filename)函數(shù)來完成。
import os
#創(chuàng)建示范文件夾
os.mkdir('示范')
效果圖:

2.獲取文件屬性
使用stat()函數(shù)
查看一個(gè)文件屬性時(shí),我們使用stat(filename)函數(shù)來完成。
import os
#查看123.txt文件屬性
con = os.stat('123.txt')
print(con)
效果展示:
E:\Python\python.exe C:\Users\86134\Desktop\python\文件操作.py os.stat_result(st_mode=33206, st_ino=3096224743955345, st_dev=3322609030, st_nlink=1, st_uid=0, st_gid=0, st_size=3, st_atime=1680681268, st_mtime=1680680620, st_ctime=1680621627) 進(jìn)程已結(jié)束,退出代碼0
3.刪除文件
使用remove()函數(shù)
刪除一個(gè)文件時(shí),我們使用remove(path)函數(shù)來完成。
import os
#刪除一個(gè)文件
os.remove('123.txt')
其他常見操作:
| 函數(shù) | 操作說明 |
| os.listdir() | 返回指定目錄下的所有文件和目錄名 |
| os.removedirs() | 刪除多個(gè)目錄 |
| os.path.dirname() | 獲取路徑名 |
| os.rename() | 重命名 |
| os.mknod() | 文件操作 |
| os.chmod() | 修改文件權(quán)限與時(shí)間戳 |
| … | … |
到此這篇關(guān)于關(guān)于Python的各種文件操作的文章就介紹到這了,更多相關(guān)Python文件操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python復(fù)制Word內(nèi)容并使用格式設(shè)字體與大小實(shí)例代碼
這篇文章主要介紹了Python復(fù)制Word內(nèi)容并使用格式設(shè)字體與大小實(shí)例代碼,小編覺得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
Python?threading中l(wèi)ock的使用詳解
Lock類是threading中用于鎖定當(dāng)前線程的鎖定類,本文給大家介紹了Python?threading中l(wèi)ock的使用,需要的朋友可以參考下2022-11-11
Python光學(xué)仿真學(xué)習(xí)Gauss高斯光束在空間中的分布
這篇文章主要介紹了Python光學(xué)仿真學(xué)習(xí)中Gauss高斯光束在空間中的分布理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-10-10
python 迭代器和iter()函數(shù)詳解及實(shí)例
這篇文章主要介紹了python 迭代器和iter()函數(shù)詳解及實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03
python實(shí)現(xiàn)動(dòng)態(tài)GIF英數(shù)驗(yàn)證碼識(shí)別示例
這篇文章主要為大家介紹了python實(shí)現(xiàn)動(dòng)態(tài)GIF英數(shù)驗(yàn)證碼識(shí)別示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2024-01-01
Python列表刪除元素del、pop()和remove()的區(qū)別小結(jié)
這篇文章主要給大家介紹了關(guān)于Python列表刪除元素del、pop()和remove()的區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09

