新聞中心
os模塊與目錄相關的函數(shù)

創(chuàng)新互聯(lián)從2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目成都網(wǎng)站制作、成都網(wǎng)站建設、外貿(mào)營銷網(wǎng)站建設網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元武勝做網(wǎng)站,已為上家服務,為武勝各地企業(yè)和個人服務,聯(lián)系電話:18980820575
與目錄相關的函數(shù)如下:
os.getcwd():獲取當前目錄。
os.chdir(path):改變當前目錄。
os.fchdir(fd):通過文件描述利改變當前目錄。該函數(shù)與上一個函數(shù)的功能基本相似,只是該函數(shù)以文件描述符作為參數(shù)來代表目錄。
下面程序測試了與目錄相關的函數(shù)的用法:
import os
# 獲取當前目錄
print(os.getcwd()) # G:\publish\codes\12.7
# 改變當前目錄
os.chdir('../12.6')
# 再次獲取當前目錄
print(os.getcwd()) # G:\publish\codes\12.6上面程序示范了使用 getcwd() 來獲取當前目錄,也示范了使用 chdir() 來改變當前目錄。
os.chroot(path):改變當前進程的根目錄。
os.listdir(path):返回 path 對應目錄下的所有文件和子目錄。
os.mkdir(path[, mode]):創(chuàng)建 path 對應的目錄,其中 mode 用于指定該目錄的權限。該 mode參數(shù)代表一個 UNIX 風格的權限,比如 0o777 代表所有者可讀/可寫/可執(zhí)行、組用戶可讀/可寫/可執(zhí)行、其他用戶可讀/可寫/可執(zhí)行。
os.makedirs(path[, mode]):其作用類似于 mkdir(),但該函數(shù)的功能更加強大,它可以邊歸創(chuàng)建目錄。比如要創(chuàng)建 abc/xyz/wawa 目錄,如果在當前目錄下沒有 abc 目錄,那么使用 mkdir() 函數(shù)就會報錯,而使用 makedirs() 函數(shù)則會先創(chuàng)建 abc,然后在其中創(chuàng)建 xyz 子目錄,最后在 xyz 子目錄下創(chuàng)建 wawa 子目錄。
如下程序示范了如何創(chuàng)建目錄:
import os path = 'my_dir' # 直接在當前目錄下創(chuàng)建目錄 os.mkdir(path, 0o755) path = "abc/xyz/wawa" # 遞歸創(chuàng)建目錄 os.makedirs(path, 0o755)
正如從上面代碼所看到的,直接在當前目錄下創(chuàng)建 mydir 子目錄,因此可以使用 mkdir() 函數(shù)創(chuàng)建;需要程序遞歸創(chuàng)建 abc/xyz/wawa 目錄,因此使用 makedirs() 函數(shù)。os.rmdir(path):刪除 path 對應的空目錄。如果目錄非空,則拋出一個 OSError 異常。程序可以先用 os.remove() 函數(shù)刪除文件。os.removedirs(path):邊歸刪除目錄。其功能類似于 rmdir(),但該函數(shù)可以遞歸刪除 abc/xyz/wawa 目錄,它會從 wawa 子目錄開始刪除,然后刪除 xyz 子目錄,最后刪除 abc 目錄。
如下程序示范了如何刪除目錄:
import os path = 'my_dir' # 直接刪除當前目錄下的子目錄 os.rmdir(path) path = "abc/xyz/wawa" # 遞歸刪除子目錄 os.removedirs(path)
上面程序中第 5 行代碼使用 rmdir() 函數(shù)刪除當前目錄下的 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):對文件或目錄進行遞歸重命名。其功能類似于 rename(),但該函數(shù)可以遞歸重命名 abc/xyz/wawa 目錄,它會從 wawa 子目錄開始重命名,然后重命名 xyz 子目錄,最后重命名 abc 目錄。
如下程序示范了如何重命名目錄:
import os path = 'my_dir' # 直接重命名當前目錄下的子目錄 os.rename(path, 'your_dir') path = "abc/xyz/wawa" # 遞歸重命名子目錄 os.renames(path, 'foo/bar/haha')
上面程序中第 5 行代碼直接重命名當前目錄下的 my_dir 子目錄,程序會將該子目錄重命名為 your_dir;第 8 行代碼則執(zhí)行遞歸重命名,程序會將 wawa 重命名為 haba,將 xyz 重命名為 bar,將 abc 重命名為 foo。
os模塊與權限相關的函數(shù)
與權限相關的函數(shù)如下:
os.access(path, mode):檢查 path 對應的文件或目錄是否具有指定權限。該函數(shù)的第二個參數(shù)可能是以下四個狀態(tài)值的一個或多個值:
os.F_OK:判斷是否存在。
os.R_OK:判斷是否可讀。
os.W_OK:判斷是否可寫。
os.X_OK:判斷是否可執(zhí)行。
例如如下程序:
import os
# 判斷當前目錄的權限
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文件的權限
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)上面程序判斷當前目錄的權限和當前文件的權限,這里特意將此文件設為只讀的。運行該程序,可以看到如下輸出結果:
os.F_OK|os.R_OK|os.W_OK|os.X_OK - 返回值:True os.F_OK|os.R_OK|os.W_OK - 返回值:False
網(wǎng)頁題目:創(chuàng)新互聯(lián)Python教程:Pythonos模塊詳解
文章起源:http://m.fisionsoft.com.cn/article/dhiespj.html


咨詢
建站咨詢
