Python第三方庫(kù)OS庫(kù)方法實(shí)操
前言
Python的OS庫(kù)提供了許多用于文件和目錄操作的基本功能,如重命名、復(fù)制、刪除等,能夠方便地進(jìn)行文件系統(tǒng)管理。優(yōu)點(diǎn)包括易于學(xué)習(xí)和使用,功能豐富;缺點(diǎn)則是有些操作需要更多復(fù)雜的處理,可能不夠高效。適合場(chǎng)景包括需要對(duì)文件和目錄進(jìn)行簡(jiǎn)單管理和操作的應(yīng)用,如文件整理、備份等。
優(yōu)點(diǎn):
- 易于學(xué)習(xí)和使用,Python的OS庫(kù)提供了簡(jiǎn)單直觀的接口,適合初學(xué)者或快速開發(fā)。
- 功能豐富,能夠完成大部分基本的文件和目錄操作,滿足一般需求。
- 跨平臺(tái)性,適用于不同操作系統(tǒng),使得程序具有更好的可移植性。
缺點(diǎn):
- 對(duì)于復(fù)雜的文件操作可能需要更多的代碼處理,不如一些專門的第三方庫(kù)方便。
有些操作可能不夠高效,特別是處理大量文件時(shí)可能會(huì)導(dǎo)致性能下降。
適用場(chǎng)景:
- Python的OS庫(kù)適合處理簡(jiǎn)單的文件和目錄操作,例如文件重命名、復(fù)制、移動(dòng)、刪除等。常見的應(yīng)用場(chǎng)景包括文件整理、備份、批量重命名等操作。如果需要更高級(jí)的功能或更好的性能,可以考慮使用一些專門的第三方庫(kù)來(lái)完成。
OS/SHUTIL 的方法描述
方法/函數(shù) | 描述 |
---|---|
os.rename(src, dst) | 重命名文件或目錄 |
os.listdir(path) | 返回指定目錄下的所有文件和目錄 |
os.getcwd() | 返回當(dāng)前工作目錄 |
os.chdir(path) | 改變當(dāng)前工作目錄 |
os.path.join(path1, path2) | 將兩個(gè)路徑組合成一個(gè)完整路徑 |
os.path.exists(path) | 檢查指定路徑(文件或目錄)是否存在 |
os.path.isfile(path) | 檢查路徑是否為文件 |
os.path.isdir(path) | 檢查路徑是否為目錄 |
os.path.basename(path) | 返回路徑中的文件名 |
os.path.dirname(path) | 返回路徑中的目錄名 |
os.path.split(path) | 返回路徑的目錄名和文件名 |
os.path.splitext(path) | 分割路徑的文件名和擴(kuò)展名 |
os.makedirs(path) | 遞歸創(chuàng)建目錄 |
os.remove(path) | 刪除文件 |
os.rmdir(path) | 刪除空目錄 |
shutil.copy(src, dst) | 復(fù)制文件或目錄 |
shutil.move(src, dst) | 移動(dòng)文件或目錄 |
shutil.rmtree(path) | 遞歸刪除目錄和文件 |
以上是一些常用的os和shutil庫(kù)函數(shù)/方法,用于處理文件和目錄操作。這些函數(shù)可以幫助你在Python中執(zhí)行文件的移動(dòng)、復(fù)制、刪除、重命名等操作。
OS/SHUTIL 的方法實(shí)操
1??我的C盤文件夾下的Pythonspider,有Python爬蟲相關(guān)的20份左右的文件,我想把這些文件重命名一下,于是這便用到了OS庫(kù)來(lái)進(jìn)行重命名操作了。
2??我對(duì)這些文件的命名特點(diǎn)進(jìn)行共性分析,便于新命名的規(guī)律
文件名是這一串:python_python_v1.0_第3章_Python爬蟲_02-xpath表達(dá)式&案例_[代碼]_11_7_xpath表達(dá)式案例其他文件都是基于
這一規(guī)律的:我想著是提取改文件名的中間一部分便找到了“_”這個(gè)分割
具體代碼如下:
import os # 設(shè)置文件夾路徑 folder_path = r'C:\Pythonspider' # 獲取文件夾下的所有文件和文件夾 entries = os.listdir(folder_path) # 遍歷文件夾中的所有條目 for entry in entries: # 獲取每個(gè)條目的完整路徑 full_path = os.path.join(folder_path, entry) # 檢查是否是文件 if os.path.isfile(full_path): # 分割文件名和擴(kuò)展名 filename, ext = os.path.splitext(entry) # 假設(shè)文件名以'_'分隔,我們可以通過(guò)分割字符串并選擇特定部分來(lái)實(shí)現(xiàn) parts = filename.split('_') # 檢查分割后的文件名部分是否足夠 if len(parts) > 5: # 截取第五個(gè)'_'后和第六個(gè)'_'前的文件名部分 new_filename = '_'.join(parts[5:6]) + ext # 構(gòu)造新的文件完整路徑 new_file_path = os.path.join(folder_path, new_filename) # 構(gòu)造原始文件的完整路徑 old_file_path = os.path.join(folder_path, entry) # 重命名文件 os.rename(old_file_path, new_file_path) print(f"Renamed '{entry}' to '{new_filename}'") else: print(f"The original filename '{entry}' does not contain enough parts separated by '_'.") else: # 如果是文件夾,可以選擇遞歸遍歷或忽略 continue print("Renaming process completed.")
3??運(yùn)行代碼后,這個(gè)新命名我看的就比較輕松了:
附:第三方庫(kù)安裝腳本
# PipInstall.py import os libs = {'numpy','sklearn','pillow','beautifulsoup4','wheel','networkx',\ 'sympy','django','pypdf2','pygame'} try: for lib in libs: os.system('pip install' + lib) print('Successful') except: print('Failed')
運(yùn)行結(jié)果:
======================= RESTART: D:/python/PipInstall.py =======================
Successful
Successful
Successful
Successful
Successful
Successful
Successful
Successful
Successful
Successful
總結(jié)
這是一次小小的嘗試,我依稀記得剛進(jìn)公司時(shí),主管叫我給4000多個(gè)視頻文件進(jìn)行重命名,根據(jù)視頻的相關(guān)內(nèi)容,花費(fèi)了我一周時(shí)間將其搞定,后面我將會(huì)根據(jù)現(xiàn)實(shí)所碰到的問(wèn)題,一一介紹Python第三方庫(kù)的妙用?。?!
到此這篇關(guān)于Python第三方庫(kù)OS庫(kù)的文章就介紹到這了,更多相關(guān)Python第三方庫(kù)OS庫(kù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3.5內(nèi)置模塊之time與datetime模塊用法實(shí)例分析
這篇文章主要介紹了Python3.5內(nèi)置模塊之time與datetime模塊用法,結(jié)合實(shí)例形式分析了Python3.5 time與datetime模塊日期時(shí)間相關(guān)操作技巧,需要的朋友可以參考下2019-04-04python3+dlib實(shí)現(xiàn)人臉識(shí)別和情緒分析
本文通過(guò)具體代碼不步驟給大家詳細(xì)講述了python3+dlib實(shí)現(xiàn)人臉識(shí)別以及情緒分析的方法,有需要的朋友參考下。2018-04-04Pyspider進(jìn)行API接口抓取和數(shù)據(jù)采集的實(shí)現(xiàn)
Pyspider是一個(gè)基于Python的強(qiáng)大的網(wǎng)絡(luò)爬蟲框架,它提供了豐富的功能和靈活的擴(kuò)展性,使我們可以輕松地進(jìn)行數(shù)據(jù)的抓取和處理,本文主要介紹了Pyspider進(jìn)行API接口抓取和數(shù)據(jù)采集的實(shí)現(xiàn),感興趣的可以了解一下2023-09-09Python實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)GPT的API
這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)同時(shí)調(diào)用多個(gè)GPT的API,文中的示例代碼簡(jiǎn)潔易懂,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09python動(dòng)態(tài)性強(qiáng)類型用法實(shí)例
這篇文章主要介紹了python動(dòng)態(tài)性強(qiáng)類型用法,對(duì)比C#實(shí)例分析了python動(dòng)態(tài)性強(qiáng)類型的使用方法,需要的朋友可以參考下2015-05-05Pycharm中flask開啟debug模式的詳細(xì)流程
PyCharm是一個(gè)強(qiáng)大的集成開發(fā)環(huán)境(IDE),非常適合Python開發(fā)者,包括Flask框架,當(dāng)你在使用Flask開發(fā)Web應(yīng)用時(shí),Debug功能是非常重要的,它允許你在運(yùn)行時(shí)檢查程序的狀態(tài)、調(diào)試代碼錯(cuò)誤,本文將介紹Pycharm中flask開啟debug模式的詳細(xì)流程,需要的朋友可以參考下2024-08-08用Python爬取各大高校并可視化幫弟弟選大學(xué),弟弟直呼牛X
高考結(jié)束了,接下來(lái)最重要的就是玩玩玩,然后準(zhǔn)備報(bào)志愿吧.中國(guó)教育在線網(wǎng)顯示國(guó)內(nèi)目前共有2857所高等院校,報(bào)一個(gè)理想的學(xué)校簡(jiǎn)直是千里挑一.正好表弟求著我讓我?guī)退x學(xué)校,我想著十年寒窗苦讀也不容易不如就用python幫幫他.分析一下目前國(guó)內(nèi)的大學(xué),需要的朋友可以參考下2021-06-06python實(shí)戰(zhàn)之90行代碼寫個(gè)猜數(shù)字游戲
這篇文章主要介紹了python實(shí)戰(zhàn)之90行代碼寫個(gè)猜數(shù)字,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python的小伙伴們有很大的幫助,需要的朋友可以參考下2021-04-04使用Python實(shí)現(xiàn)簡(jiǎn)單的任務(wù)自動(dòng)化
在現(xiàn)代工作和生活中,任務(wù)自動(dòng)化可以極大地提高效率和準(zhǔn)確性,Python則是實(shí)現(xiàn)任務(wù)自動(dòng)化的理想選擇,下面我們來(lái)看看如何用Python實(shí)現(xiàn)任務(wù)自動(dòng)化吧2025-01-01