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

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

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

操作文件路徑

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

獲取當(dāng)前路徑

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

示例代碼:

import os
print(os.getcwd())

創(chuàng)建文件夾

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

mkdir()函數(shù)

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

示例代碼:

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

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

makedirs()函數(shù)

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

示例代碼:

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

第2行代碼使用makedirs()函數(shù)創(chuàng)建了文件夾,由于筆者E盤下并沒有文件夾“書代碼1”,因此代碼執(zhí)行之后會在E盤中連續(xù)創(chuàng)建3個文件夾,其中“書代碼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:\書代碼\第9章\數(shù)據(jù)2\內(nèi)容c <class 'str'>

跳轉(zhuǎn)路徑

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

示例代碼:

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

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

判斷相對路徑和絕對路徑

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

示例代碼:

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

如果是絕對路徑就返回True,如果是相對路徑就返回False

獲取文件路徑和文件名

os庫的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庫中的方法實(shí)現(xiàn)查詢文件大小、刪除文件或文件夾、重命名文件或文件夾等操作。

查詢文件大小

使用os庫的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庫中的remove(path)方法可用于刪除path中的文件。

示例代碼:

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

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

示例代碼:

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

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

重命名文件或文件夾

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

示例代碼:

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

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

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

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

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

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

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

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

復(fù)制文件

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

os.link(src, dst)

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

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

示例代碼:

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

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

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

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

示例代碼:

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

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

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

示例代碼(統(tǒng)計當(dāng)前文件夾中所有文件占用空間的大小):

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庫中提供了以下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ù)據(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)文件夾存在但文件夾中的文件不存在時,執(zhí)行3種方法后都會返回False

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

相關(guān)文章

最新評論

垦利县| 读书| 冷水江市| 阿拉善左旗| 乐至县| 西和县| 繁峙县| 建水县| 乃东县| 五莲县| 万州区| 河南省| 琼中| 于田县| 延寿县| SHOW| 宁陕县| 高淳县| 威远县| 罗山县| 七台河市| 黄平县| 中卫市| 友谊县| 平和县| 卢氏县| 蓝山县| 昆明市| 吉首市| 陆川县| 大足县| 久治县| 灵宝市| 静安区| 乌兰察布市| 北流市| 巴彦县| 大田县| 卓资县| 民县| 西乡县|