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é)者或快速開(kāi)發(fā)。
- 功能豐富,能夠完成大部分基本的文件和目錄操作,滿足一般需求。
- 跨平臺(tái)性,適用于不同操作系統(tǒng),使得程序具有更好的可移植性。
缺點(diǎn):
- 對(duì)于復(fù)雜的文件操作可能需要更多的代碼處理,不如一些專門的第三方庫(kù)方便。
有些操作可能不夠高效,特別是處理大量文件時(shí)可能會(huì)導(dǎo)致性能下降。
適用場(chǎng)景:
- Python的OS庫(kù)適合處理簡(jiǎn)單的文件和目錄操作,例如文件重命名、復(fù)制、移動(dòng)、刪除等。常見(jiàn)的應(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爬蟲(chóng)相關(guān)的20份左右的文件,我想把這些文件重命名一下,于是這便用到了OS庫(kù)來(lái)進(jìn)行重命名操作了。

2??我對(duì)這些文件的命名特點(diǎn)進(jìn)行共性分析,便于新命名的規(guī)律
文件名是這一串:python_python_v1.0_第3章_Python爬蟲(chóng)_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)文章
Python列表切片操作實(shí)例探究(提取復(fù)制反轉(zhuǎn))
在Python中,列表切片是處理列表數(shù)據(jù)非常強(qiáng)大且靈活的方法,本文將全面探討Python中列表切片的多種用法,包括提取子列表、復(fù)制列表、反轉(zhuǎn)列表等操作,結(jié)合豐富的示例代碼進(jìn)行詳細(xì)講解2024-01-01
Python requests接口測(cè)試實(shí)現(xiàn)代碼
這篇文章主要介紹了Python requests接口測(cè)試實(shí)現(xiàn)代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
使用Python求解最大公約數(shù)的實(shí)現(xiàn)方法
這篇文章主要介紹了使用Python求解最大公約數(shù)的實(shí)現(xiàn)方法,包括用Python表示歐幾里得算法和Stein算法的求解原理,需要的朋友可以參考下2015-08-08
Django2 連接MySQL及model測(cè)試實(shí)例分析
這篇文章主要介紹了Django2 連接MySQL及model測(cè)試,結(jié)合實(shí)例形式分析了Django2框架使用pymysql庫(kù)進(jìn)行mysql數(shù)據(jù)庫(kù)連接與model調(diào)用測(cè)試方法,需要的朋友可以參考下2019-12-12
Python使用windows設(shè)置定時(shí)執(zhí)行腳本
這篇文章主要介紹了Python使用windows設(shè)置定時(shí)執(zhí)行腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11
Python的SQLalchemy模塊連接與操作MySQL的基礎(chǔ)示例
SQLalchemy是Python世界中驅(qū)動(dòng)MySQL的一款高人氣模塊,這里我們從入門開(kāi)始來(lái)看一下Python的SQLalchemy模塊連接與操作MySQL的基礎(chǔ)示例:2016-07-07

