Python os庫常用操作代碼匯總
Python自動的os庫是和操作系統(tǒng)交互的庫,常用的操作包括文件/目錄操作,路徑操作,環(huán)境變量操作和執(zhí)行系統(tǒng)命令等。
文件/目錄操作
- 獲取當(dāng)前目錄(pwd): os.getcwd()
- 切換目錄(cd): os.chdir('/usr/local/')
- 列出目錄所有文件(ls):os.listdir('/usr/local/')
- 創(chuàng)建目錄(mkdir):os.makedirs('/usr/local/tmp')
- 刪除目錄(rmdir):os.removedirs('/usr/local/tmp') # 只能刪除空目錄,遞歸刪除可以使用import shutil;shutil.rmtree('/usr/local/tmp')
- 刪除文件(rm):os.remove('/usr/local/a.txt')
- 遞歸遍歷目錄及子目錄:os.walk()
示例:遍歷/usr/local目錄及子下所有文件和目錄,并組裝出每個(gè)文件完整的路徑名
import os
for root, dirs, files in os.walk("/usr/local", topdown=False):
for name in files:
print('文件:', os.path.join(root, name))
for name in dirs:
print('目錄:', os.path.join(root, name))
路徑操作
- 當(dāng)前Python腳本文件:__file__
- 獲取文件所在路徑:os.path.basename(__file__) # 不含當(dāng)前文件名
- 獲取文件絕對路徑:os.path.abspath(__file__) # 包含當(dāng)前文件名
- 獲取所在目錄路徑:os.path.dirname(__file__)
- 分割路徑和文件名:`os.path.split('/usr/local/a.txt') # 得到一個(gè)[路徑,文件名]的列表
- 分割文件名和擴(kuò)展名:os.path.splitext('a.txt') # 得到['a', '.txt']
- 判斷路徑是否存在:os.path.exists('/usr/local/a.txt')
- 判斷路徑是否文件:os.path.isfile('/usr/local/a.txt')
- 判斷路徑是否目錄:os.path.isdir('/usr/local/a.txt')
- 組裝路徑:os.path.join('/usr', 'local', 'a.txt')
示例:獲取項(xiàng)目根路徑和報(bào)告文件路徑
假設(shè)項(xiàng)目結(jié)構(gòu)如下
project/
data'
reports/
report.html
testcases/
config.py
run.py
在run.py中獲取項(xiàng)目的路徑和report.html的路徑
# filename: run.py
import os
base_dir = os.path.dirname(__file__) # __file__是run.py文件,os.path.dirname獲取到其所在的目錄project即項(xiàng)目根路徑
report_file = os.path.join(base_dir, 'reports', 'report.html') # 使用系統(tǒng)路徑分隔符('\')連接項(xiàng)目根目錄base_dir和'reports'及'report.html'得到報(bào)告路徑
print(report_file)
環(huán)境變量操作
- 獲取環(huán)境變量:os.environ.get('PATH')或os.getenv('PATH')
- 設(shè)置環(huán)境變量:os.environ['MYSQL_PWD']='123456'
執(zhí)行系統(tǒng)命令
執(zhí)行系統(tǒng)命令:os.system("jmeter -n -t /usr/local/demo.jmx") # 無法獲取屏幕輸出的信息,相要獲取運(yùn)行屏幕信息,可以使用subprocess
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
詳解如何在python中讀寫和存儲matlab的數(shù)據(jù)文件(*.mat)
這篇文章主要介紹了詳解如何在python中讀寫和存儲matlab的數(shù)據(jù)文件(*.mat),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-02-02
python實(shí)現(xiàn)根據(jù)給定坐標(biāo)點(diǎn)生成多邊形mask的例子
今天小編就為大家分享一篇python實(shí)現(xiàn)根據(jù)給定坐標(biāo)點(diǎn)生成多邊形mask的例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02
python實(shí)現(xiàn)beta分布概率密度函數(shù)的方法
今天小編就為大家分享一篇python實(shí)現(xiàn)beta分布概率密度函數(shù)的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-07-07
Python Opencv實(shí)戰(zhàn)之印章提取的實(shí)現(xiàn)
很多時(shí)候我們需要電子版的章,但有些同學(xué)并不會通過Photoshop摳圖獲取。因此本文將利用Python OpenCV來實(shí)現(xiàn)印章的提取,感興趣的可以了解一下2022-03-03
TensorFLow 數(shù)學(xué)運(yùn)算的示例代碼
這篇文章主要介紹了TensorFLow 數(shù)學(xué)運(yùn)算的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
python矩陣的轉(zhuǎn)置和逆轉(zhuǎn)實(shí)例
今天小編就為大家分享一篇python矩陣的轉(zhuǎn)置和逆轉(zhuǎn)實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12
超詳細(xì)注釋之OpenCV旋轉(zhuǎn)圖像任意角度
這篇文章主要介紹了OpenCV旋轉(zhuǎn)圖像任意角度,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09

