Python中常用的os操作匯總
Python自動(dòng)的os庫(kù)是和操作系統(tǒng)交互的庫(kù),常用的操作包括文件/目錄操作,路徑操作,環(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)前文件名 - 獲取文件絕對(duì)路徑:
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")
# 無(wú)法獲取屏幕輸出的信息,相要獲取運(yùn)行屏幕信息,可以使用subprocess
作者: 韓志超
更多關(guān)于python的相關(guān)知識(shí),請(qǐng)關(guān)注python客棧
以上就是Python中常用的os操作匯總的詳細(xì)內(nèi)容,更多關(guān)于python os操作的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- Python os庫(kù)常用操作代碼匯總
- Python通過(guò)kerberos安全認(rèn)證操作kafka方式
- Python 操作 PostgreSQL 數(shù)據(jù)庫(kù)示例【連接、增刪改查等】
- 淺談Python中os模塊及shutil模塊的常規(guī)操作
- Python常用模塊os.path之文件及路徑操作方法
- Python3模擬curl發(fā)送post請(qǐng)求操作示例
- python 中文件輸入輸出及os模塊對(duì)文件系統(tǒng)的操作方法
- 詳談Python3 操作系統(tǒng)與路徑 模塊(os / os.path / pathlib)
- Python中用psycopg2模塊操作PostgreSQL方法
- Python之os操作方法(詳解)
- Python中的os.path路徑模塊中的操作方法總結(jié)
相關(guān)文章
解決pip install psycopg2出錯(cuò)問(wèn)題
這篇文章主要介紹了解決pip install psycopg2出錯(cuò)問(wèn)題。具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Win10里python3創(chuàng)建虛擬環(huán)境的步驟
在本篇文章里小編給大家整理的是一篇關(guān)于Win10里python3創(chuàng)建虛擬環(huán)境的步驟內(nèi)容,需要的朋友們可以學(xué)習(xí)參考下。2020-01-01關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景
這篇文章主要介紹了關(guān)于Python參數(shù)解析器argparse的應(yīng)用場(chǎng)景,argparse 模塊使編寫(xiě)用戶友好的命令行界面變得容易,程序定義了所需的參數(shù),而 argparse 將找出如何從 sys.argv 中解析這些參數(shù),需要的朋友可以參考下2023-08-08Python實(shí)現(xiàn)SVM支持向量機(jī)的示例代碼
SVM 的目的是在數(shù)據(jù)集中找到一條最佳分隔超平面,使得在這個(gè)超平面兩側(cè)的數(shù)據(jù)分別屬于不同的類別,且該超平面與最近的數(shù)據(jù)點(diǎn)之間的距離最大。本文將通過(guò)Python實(shí)現(xiàn)SVM支持向量機(jī),感興趣的可以了解一下2023-02-02python 安裝移動(dòng)復(fù)制第三方庫(kù)操作
這篇文章主要介紹了python 安裝移動(dòng)復(fù)制第三方庫(kù)操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-07-07Python+unittest+requests 接口自動(dòng)化測(cè)試框架搭建教程
這篇文章主要介紹了Python+unittest+requests 接口自動(dòng)化測(cè)試框架搭建教程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10Python不改變Excel單元格樣式方式—xls和xlsx兩種格式
這篇文章主要介紹了Python不改變Excel單元格樣式方式—xls和xlsx兩種格式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06