新聞中心
Os模塊與目錄相關(guān)的函數(shù)

成都創(chuàng)新互聯(lián)服務(wù)項目包括河曲網(wǎng)站建設(shè)、河曲網(wǎng)站制作、河曲網(wǎng)頁制作以及河曲網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,河曲網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到河曲省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
相關(guān)的函數(shù)如下:
os.getcwd():獲取當(dāng)前目錄。 os.chdir(path):改變當(dāng)前目錄。 os.fchdir(fd):通過文件描述利改變當(dāng)前目錄。該函數(shù)與上一個函數(shù)的功能基本相似,只是該函數(shù)以文件描述符作為參數(shù)來代表目錄。
下面程序測試了與目錄相關(guān)的函數(shù)的用法:
import os
# 獲取當(dāng)前目錄
print(os.getcwd()) # G:\publish\codes\12.7
# 改變當(dāng)前目錄
os.chdir('../12.6')
# 再次獲取當(dāng)前目錄
print(os.getcwd()) # G:\publish\codes\12.6上面程序示范了使用 getcwd() 來獲取當(dāng)前目錄,也示范了使用 chdir() 來改變當(dāng)前目錄。
os.chroot(path):改變當(dāng)前進(jìn)程的根目錄。
os.listdir(path):返回 path 對應(yīng)目錄下的所有文件和子目錄。
os.mkdir(path[, mode]):創(chuàng)建 path 對應(yīng)的目錄,其中 mode 用于指定該目錄的權(quán)限。該 mode參數(shù)代表一個 UNIX 風(fēng)格的權(quán)限,比如 0o777 代表所有者可讀/可寫/可執(zhí)行、組用戶可讀/可寫/可執(zhí)行、其他用戶可讀/可寫/可執(zhí)行。
os.makedirs(path[, mode]):其作用類似于 mkdir(),但該函數(shù)的功能更加強(qiáng)大,它可以邊歸創(chuàng)建目錄。比如要創(chuàng)建 abc/xyz/wawa 目錄,如果在當(dāng)前目錄下沒有 abc 目錄,那么使用 mkdir() 函數(shù)就會報錯,而使用 makedirs() 函數(shù)則會先創(chuàng)建 abc,然后在其中創(chuàng)建 xyz 子目錄,最后在 xyz 子目錄下創(chuàng)建 wawa 子目錄。
python學(xué)習(xí)網(wǎng),免費的python學(xué)習(xí)網(wǎng)站,歡迎在線學(xué)習(xí)!
如下程序示范了如何創(chuàng)建目錄:
import os path = 'my_dir' # 直接在當(dāng)前目錄下創(chuàng)建目錄 os.mkdir(path, 0o755) path = "abc/xyz/wawa" # 遞歸創(chuàng)建目錄 os.makedirs(path, 0o755)
正如從上面代碼所看到的,直接在當(dāng)前目錄下創(chuàng)建 mydir 子目錄,因此可以使用 mkdir() 函數(shù)創(chuàng)建;需要程序遞歸創(chuàng)建 abc/xyz/wawa 目錄,因此使用 makedirs() 函數(shù)。os.rmdir(path):刪除 path 對應(yīng)的空目錄。如果目錄非空,則拋出一個 OSError 異常。程序可以先用 os.remove() 函數(shù)刪除文件。os.removedirs(path):邊歸刪除目錄。其功能類似于 rmdir(),但該函數(shù)可以遞歸刪除 abc/xyz/wawa 目錄,它會從 wawa 子目錄開始刪除,然后刪除 xyz 子目錄,最后刪除 abc 目錄。
如下程序示范了如何刪除目錄:
import os path = 'my_dir' # 直接刪除當(dāng)前目錄下的子目錄 os.rmdir(path) path = "abc/xyz/wawa" # 遞歸刪除子目錄 os.removedirs(path)
上面程序中第 5 行代碼使用 rmdir() 函數(shù)刪除當(dāng)前目錄下的 my_dir 子目錄,該函數(shù)不會執(zhí)行遞歸刪除;第 8 行代碼使用 removedirs() 函數(shù)刪除 abc/xyz/wawa 目錄,該函數(shù)會執(zhí)行遞歸刪除,它會先刪除 wawa 子目錄,然后刪除 xyz 子目錄,最后才刪除 abc 目錄。
os.rename(src, dst):重命名文件或目錄,將 src 重名為 dst。
os.renames(old, new):對文件或目錄進(jìn)行遞歸重命名。其功能類似于 rename(),但該函數(shù)可以遞歸重命名 abc/xyz/wawa 目錄,它會從 wawa 子目錄開始重命名,然后重命名 xyz 子目錄,最后重命名 abc 目錄。
如下程序示范了如何重命名目錄:
import os path = 'my_dir' # 直接重命名當(dāng)前目錄下的子目錄 os.rename(path, 'your_dir') path = "abc/xyz/wawa" # 遞歸重命名子目錄 os.renames(path, 'foo/bar/haha')
上面程序中第 5 行代碼直接重命名當(dāng)前目錄下的 my_dir 子目錄,程序會將該子目錄重命名為 your_dir;第 8 行代碼則執(zhí)行遞歸重命名,程序會將 wawa 重命名為 haba,將 xyz 重命名為 bar,將 abc 重命名為 foo。
os模塊與權(quán)限相關(guān)的函數(shù)
與權(quán)限相關(guān)的函數(shù)如下:
os.access(path, mode):檢查 path 對應(yīng)的文件或目錄是否具有指定權(quán)限。該函數(shù)的第二個參數(shù)可能是以下四個狀態(tài)值的一個或多個值:
os.F_OK:判斷是否存在。
os.R_OK:判斷是否可讀。
os.W_OK:判斷是否可寫。
os.X_OK:判斷是否可執(zhí)行。
例如如下程序:
import os
# 判斷當(dāng)前目錄的權(quán)限
ret = os.access('.', os.F_OK|os.R_OK|os.W_OK|os.X_OK)
print("os.F_OK|os.R_OK|os.W_OK|os.X_OK - 返回值:", ret)
# 判斷os.access_test.py文件的權(quán)限
ret = os.access('os.access_test.py', os.F_OK|os.R_OK|os.W_OK)
print("os.F_OK|os.R_OK|os.W_OK - 返回值:", ret)上面程序判斷當(dāng)前目錄的權(quán)限和當(dāng)前文件的權(quán)限,這里特意將此文件設(shè)為只讀的。運行該程序,可以看到如下輸出結(jié)果:
os.F_OK|os.R_OK|os.W_OK|os.X_OK - 返回值:True os.F_OK|os.R_OK|os.W_OK - 返回值:False
文章題目:創(chuàng)新互聯(lián)Python教程:pythonos是什么
URL地址:http://m.fisionsoft.com.cn/article/cdjsigh.html


咨詢
建站咨詢
