os 模塊提供了非常豐富的方法用來處理檔案和目錄
os關于目錄路徑的方法
# 獲取當前路徑
path = os.getcwd()
# 獲取當前絕對路徑
os.path.abspath(path)
# 創建一級目錄
os.mkdir(path)
# 洗掉空目錄
os.rmdir(path)
# 創建多級目錄
os.makedirs(path)
# 洗掉多級空目錄
os.removedirs(path)
# 修改路徑為path
os.chdir(path)
包含知識點
- rmdir的path,如果目錄非空,則拋出一個OSError例外
- 多級目錄是指 /test/testing/test,如果三個目錄都不存在則都會創建
os關于檔案的方法
# 獲取當前路徑下所有檔案、檔案夾
os.listdir(path)
# 創建檔案方式一
f = os.open(path + "test.txt", flags=os.O_CREAT | os.O_RDWR )
# 寫入檔案
os.write(f, bytes("123",encoding="utf-8"))
# 讀取檔案
print(os.read(f,12))
# 關閉檔案
os.close(f)
# 重命名檔案
os.rename(path + "test.txt", path + "tests.txt")
# 洗掉檔案
os.remove(path + "tests.txt")
# 遞回回傳path下的目錄(包括path目錄)、子目錄、檔案名的三元組
for root, dirname, filenames in os.walk(path):
logzeros.debug(root)
logzeros.debug(dirname)
logzeros.debug(filenames)
包含知識點
-
listdir 回傳的是一個串列,若沒有檔案則回傳空串列
-
os.write(fd, str) 用于寫入bytes字串到檔案描述符 fd 中. 回傳實際寫入的字串長度
-
os.read(fd,n) 用于從檔案描述符 fd 中讀取最多 n 個位元組,回傳包含bytes字串
os.path相關
os.path.realpath(__file__)
獲取當前檔案所在目錄
path = os.path.realpath(__file__)
print(path)
運行結果
C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py
os.path.abspath(path)
獲取當前path所在路徑
#Python學習交流群:725638078
path = os.path.abspath(".")
print(path)
path = os.path.abspath(os.path.realpath(__file__))
print(path)
運行結果
C:\Users\user\Desktop\py\moocInterface\learn
C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py
第一行代碼跟 os.getcwd() 很像
path = os.getcwd()
print(path)
運行結果
C:\Users\user\Desktop\py\moocInterface\learn
os.path.dirname(path)
回傳path的所在目錄的路徑
print(os.path.dirname(r'C:\Users\user\Desktop\py\moocInterface\learn\os_path_learn.py'))
print(os.path.dirname(r'C:\Users\user\Desktop\py\moocInterface\learn'))
# 表示獲取當前檔案所在目錄的上一級目錄,即專案所在目錄C:\Users\user\Desktop\py\moocInterface
print(os.path.dirname(os.path.abspath('.')))
運行結果
C:\Users\user\Desktop\py\moocInterface\learn
C:\Users\user\Desktop\py\moocInterface
C:\Users\user\Desktop\py\moocInterface
os.path.split(path)
分離檔案名和擴展名,回傳(filename檔案名,fileextension檔案擴展名)二元組
# 目錄
os.path.split(os.getcwd())
# 檔案
os.path.split(os.path.realpath(__file__))
運行結果
('C:\\Users\\user\\Desktop\\py\\moocInterface', 'learn')
('C:\\Users\\user\\Desktop\\py\\moocInterface\\learn', 'os_path_learn.py')
os.path.join()
用于路徑拼接,將多個路徑組合后回傳,第一個絕對路徑之前的引數將被忽略
#Python學習交流群:725638078
# 拼接目錄
new_path = os.path.join(os.getcwd(), "test")
print(new_path)
# 拼接檔案
new_path = os.path.join(os.getcwd(), "test.txt")
print(new_path)
# 拼接多重目錄
new_path = os.path.join(os.getcwd(), "test/test/test")
print(new_path)
# 拼接多個目錄、檔案
new_path = os.path.join(os.getcwd(), "test", "Test", "ok.txt")
print(new_path)
運行結果
C:\Users\user\Desktop\py\moocInterface\learn\test
C:\Users\user\Desktop\py\moocInterface\learn\test.txt
C:\Users\user\Desktop\py\moocInterface\learn\test/test/test
C:\Users\user\Desktop\py\moocInterface\learn\test\Test\ok.txt
結尾給大家推薦一個非常好的學習教程,希望對你學習Python有幫助!
Python基礎入門教程推薦:更多Python視頻教程-關注B站:Python學習者
https://www.bilibili.com/video/BV1LL4y1h7ny?share_source=copy_web
Python爬蟲案例教程推薦:更多Python視頻教程-關注B站:Python學習者
https://www.bilibili.com/video/BV1QZ4y1N7YA?share_source=copy_web
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/354459.html
標籤:其他
