最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python中操作文件夾和文件路徑的方法

 更新時(shí)間:2025年12月08日 14:29:42   作者:光羽隹衡  
文章主要介紹了Python標(biāo)準(zhǔn)庫(kù)os中操作文件和文件夾的相關(guān)函數(shù),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧

操作文件路徑

Python標(biāo)準(zhǔn)庫(kù)提供了os庫(kù)來(lái)管理操作系統(tǒng)相關(guān)功能,無(wú)須下載、安裝,os庫(kù)包含豐富的操作文件的方法,以通過(guò)import os導(dǎo)入庫(kù)之后使用dir(os)查詢獲取。

獲取當(dāng)前路徑

os庫(kù)中的getcwd()函數(shù)可用于獲取當(dāng)前代碼所在文件夾的絕對(duì)路徑(不包含代碼文件名)

示例代碼:

import os
print(os.getcwd())

創(chuàng)建文件夾

os庫(kù)中有兩種用于創(chuàng)建文件夾的函數(shù),分別為mkdir()函數(shù)和makedirs()函數(shù)。

mkdir()函數(shù)

在os庫(kù)中使用mkdir(路徑)函數(shù)可以實(shí)現(xiàn)在路徑中創(chuàng)建一個(gè)新的文件夾。

示例代碼:

import os
os.mkdir(r"E:\書(shū)代碼\第9章\數(shù)據(jù)1")

注意:必須保證“E:\書(shū)代碼\第9章”這個(gè)路徑是正確的,否則會(huì)無(wú)法創(chuàng)建新文件夾。

makedirs()函數(shù)

在os庫(kù)中makedirs(路徑)函數(shù)是根據(jù)參數(shù)來(lái)遞歸創(chuàng)建文件夾,遞歸表示根據(jù)路徑創(chuàng)建包含的文件夾。

示例代碼:

import os
os.makedirs(r"E:\書(shū)代碼1\數(shù)據(jù)1\內(nèi)容b")

第2行代碼使用makedirs()函數(shù)創(chuàng)建了文件夾,由于筆者E盤(pán)下并沒(méi)有文件夾“書(shū)代碼1”,因此代碼執(zhí)行之后會(huì)在E盤(pán)中連續(xù)創(chuàng)建3個(gè)文件夾,其中“書(shū)代碼1”文件夾包含“數(shù)據(jù)1”文件夾,“數(shù)據(jù)1”文件夾包含“內(nèi)容b”文件夾。

因此mkdir()函數(shù)和makedirs()函數(shù)的區(qū)別在于是否可以遞歸創(chuàng)建文件夾。

示例代碼:

import os
for i in range(1,201):
    file_name = '文件夾'+str(i)
    file_path = os.getcwd()+'\\數(shù)據(jù)1\\' + file_name
    os.mkdir(file_path)

拼接路徑

使用os.path.join()方法可以實(shí)現(xiàn)將參數(shù)拼接為目錄路徑,從而方便且快速地獲取文件地址。

示例代碼:

import os
dir_new = os.path.join(os.getcwd(), '數(shù)據(jù)2','內(nèi)容c')
print(dir_new,type(dir_new))

代碼執(zhí)行結(jié)果:E:\書(shū)代碼\第9章\數(shù)據(jù)2\內(nèi)容c <class 'str'>

跳轉(zhuǎn)路徑

如果需要在程序中實(shí)現(xiàn)從當(dāng)前代碼所在文件夾路徑跳轉(zhuǎn)到其他路徑,可以使用os庫(kù)中的chdir(路徑)函數(shù),但要注意路徑必須是已經(jīng)存在的,否則運(yùn)行代碼后會(huì)出現(xiàn)報(bào)錯(cuò)。

示例代碼:

import os
print(os.getcwd())
os.chdir('E:\書(shū)代碼\第9章\數(shù)據(jù)2')
print(os.getcwd())

代碼執(zhí)行結(jié)果:
E:\書(shū)代碼\第9章
E:\書(shū)代碼\第9章\數(shù)據(jù)1

判斷相對(duì)路徑和絕對(duì)路徑

使用os.path.isabs(path)方法可以判斷當(dāng)前路徑是相對(duì)路徑還是絕對(duì)路徑。

示例代碼:

import os
a=os.path.isabs('數(shù)據(jù)2\內(nèi)容c')
b=os.path.isabs('E:\代碼例')
print(a,b)

如果是絕對(duì)路徑就返回True,如果是相對(duì)路徑就返回False

獲取文件路徑和文件名

os庫(kù)的path模塊下的basename(path)方法可用于獲取路徑中的文件名,dirname(路徑)方法可用于獲取路徑中的文件夾路徑,split(路徑)方法可用于將獲取的文件夾路徑和文件名以元組的形式返回。

示例代碼:

import os
path = r'E:\代碼例\數(shù)據(jù)2\內(nèi)容c\Python程序代碼1.txt'
file_name = os.path.basename(path)
dir_name = os.path.dirname(path)
file_dir_name = os.path.split(path)
print(file_name,'\n',dir_name,'\n',file_dir_name)

代碼執(zhí)行結(jié)果:

Python程序代碼1.txt
E:\代碼例\數(shù)據(jù)2\內(nèi)容c
('E:\\代碼例\\數(shù)據(jù)2\\內(nèi)容c', 'Python程序代碼1.txt')

操作文件和文件夾

本節(jié)主要介紹使用os庫(kù)中的方法實(shí)現(xiàn)查詢文件大小、刪除文件或文件夾、重命名文件或文件夾等操作。

查詢文件大小

使用os庫(kù)的path模塊下的getsize(path)方法可以獲取路徑中的文件所占用內(nèi)存的大小,單位為字節(jié)。

示例代碼:

import os
path = r'E:\代碼例\數(shù)據(jù)2\內(nèi)容c\Python程序代碼1.txt'
print(os.path.getsize(path))

刪除文件和文件夾

os庫(kù)中的remove(path)方法可用于刪除path中的文件。

示例代碼:

import os
os.remove(r'E:\書(shū)代碼1\數(shù)據(jù)1\內(nèi)容b\dwed.txt')

注意:os庫(kù)中的rmdir(path)方法可用于刪除path中的最后一層文件夾,不能遞歸刪除整個(gè)path的全部文件夾。

示例代碼:

import os
os.rmdir('數(shù)據(jù)3\內(nèi)層1')

執(zhí)行該代碼后將會(huì)刪除“內(nèi)層1”文件夾。

重命名文件或文件夾

使用os庫(kù)中的rename()和renames()函數(shù)即可實(shí)現(xiàn)對(duì)文件或文件夾進(jìn)行重命名。其使用形式如下:

示例代碼:

os.rename(src, dst)
os.renames(src, dst)

功能:rename()函數(shù)修改指定文件夾或文件的名稱;

           renames()函數(shù)遞歸修改文件夾或文件的名稱。

參數(shù):src:表示要修改的文件夾路徑或文件路徑;

           dst:表示修改后的文件夾路徑或文件路徑。

示例代碼:(將所示的所有文件夾名序號(hào)增大200)

import os
for i in range(1,201):
    old = 'E:/書(shū)代碼/第9章/數(shù)據(jù)1/文件夾'+str(i)
    new = 'E:/書(shū)代碼/第9章/數(shù)據(jù)1/文件夾'+str(i+200)
    os.rename(old,new) #對(duì)文件或文件夾進(jìn)行重命名
os.renames('E:/書(shū)代碼/第9章/數(shù)據(jù)1/文件夾201','E:/書(shū)代碼/第9章/數(shù)據(jù)2/文件夾201')

第2~5行代碼使用for循環(huán)200次,分別獲取要修改的路徑old和修改后的路徑new,并使用rename()函數(shù)修改文件夾名稱。

復(fù)制文件

os庫(kù)中的os.link()函數(shù)可用于創(chuàng)建硬鏈接以實(shí)現(xiàn)復(fù)制文件。其使用形式如下:

os.link(src, dst)

參數(shù):src:表示要復(fù)制的文件夾路徑或文件路徑;

           dst:表示復(fù)制后的文件夾路徑或文件路徑。

示例代碼:

import os
os.link('E:/書(shū)代碼/報(bào)告合集.pdf', 'E:/書(shū)代碼/數(shù)據(jù)1/報(bào)告合集.pdf')

執(zhí)行代碼后即可將“報(bào)告合集.pdf”文件復(fù)制到“E:/書(shū)代碼/數(shù)據(jù)1”路徑中。

獲取文件夾中的全部文件名

使用os庫(kù)中的listdir(路徑)方法即可獲取文件夾中的全部文件名(包含文件和文件夾的名稱)

示例代碼:

import os
print('相對(duì)路徑中有:', os.listdir('.'))

代碼執(zhí)行結(jié)果:
相對(duì)路徑中有: ['數(shù)據(jù)1', '數(shù)據(jù)2', '第9章第1個(gè)程序.py', '第9章第3個(gè)程序.py', '第9章第5個(gè)程序.py']

在辦公領(lǐng)域中,獲取文件夾中的全部文件是較為常見(jiàn)的操作,當(dāng)需要對(duì)一系列的文件進(jìn)行操作時(shí),可以先將這一系列的文件存放在同一個(gè)文件夾中,然后通過(guò)os.list()方法遍歷并獲取文件,再對(duì)文件進(jìn)行操作。

示例代碼(統(tǒng)計(jì)當(dāng)前文件夾中所有文件占用空間的大?。?/p>

import os
file_total_size = 0
for file_name in os.listdir('.'):
    file_dir = os.path.join(os.getcwd(), file_name)
    file_total_size += os.path.getsize(file_dir)
print(file_total_size/1024)

判斷文件和文件夾

os庫(kù)中提供了以下3種用于判斷path是文件還是文件夾的方法:

1. os.path.exists(path):判斷path所指的文件或文件夾是否存在,如果存在則返回True,否則返回False。

2. os.path.isfile(path):判斷path是否為文件,如果是文件則返回True,否則返回False。

3. os.path.isdir(path):判斷path是否為文件夾,如果是文件夾則返回True,否則返回False。
示例代碼:

import os
path = r'E:\書(shū)代碼\數(shù)據(jù)2\內(nèi)容c\Python程序代碼1.txt'
print(os.path.exists(path), end='\t')
print(os.path.isfile(path), end='\t')
print(os.path.isdir(path), end='\t')

代碼執(zhí)行結(jié)果:True    True    False

注意:當(dāng)文件夾存在但文件夾中的文件不存在時(shí),執(zhí)行3種方法后都會(huì)返回False

到此這篇關(guān)于Python中操作文件夾的文章就介紹到這了,更多相關(guān)Python操作文件夾內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

德安县| 本溪市| 通化市| 金阳县| 郑州市| 繁峙县| 凤翔县| 合阳县| 丽水市| 河北省| 江津市| 沁水县| 天等县| 溧水县| 武威市| 凤台县| 保山市| 肇源县| 商南县| 阜平县| 阿鲁科尔沁旗| 兴海县| 吉安市| 丹江口市| 萝北县| 齐河县| 苍溪县| 秀山| 淮南市| 双辽市| 陇川县| 通州区| 溧水县| 渑池县| 连州市| 五指山市| 东平县| 苏尼特左旗| 雷山县| 甘洛县| 杭州市|