概述
本文就os和path模塊中常用的方法進(jìn)行了說(shuō)明和列舉篮昧,更多的方法和技巧請(qǐng)參加官方文檔
os模塊常用方法
我們先看看os模塊所提供的目錄操作方法宰睡,直接上代碼實(shí)例:
# -*- coding:utf-8 -*-
__author__ = '苦葉子'
# 導(dǎo)入os模塊
import os
if __name__ == "__main__":
# 返回完整的路徑目錄
print("獲取當(dāng)前工作目錄")
print(os.getcwd())
# 返回的是: .
print("獲取當(dāng)前目錄")
print(os.curdir)
# 創(chuàng)建目錄
# 目標(biāo)創(chuàng)建目錄必須是不存在的邻梆,否則拋出異常
os.mkdir("test_mk1")
# 重命名目錄
os.rename("test_mk1", "test_mk2")
# 刪除指定目錄
# 要注意目標(biāo)刪除目錄必須是無(wú)子目錄、子文件
# 目標(biāo)刪除目錄必須存在辙浑,否則拋出異常
# 使用該代碼時(shí)偎巢,請(qǐng)將目標(biāo)刪除目錄改為你要?jiǎng)h除的目錄
# os.removedirs("test_mk1")
# 將改變至C盤
print("改變工作目錄到dirname")
os.chdir("c:")
print(os.getcwd())
path模塊常用方法
我們通過(guò)下面的代碼實(shí)例來(lái)看看如何使用path模塊提供的方法來(lái)管理文件。
# -*- coding:utf-8 -*-
__author__ = '苦葉子'
import os
if __name__ == "__main__":
# 先初始化當(dāng)前文件全路徑變量
path = __file__
print("當(dāng)前文件全路徑為: %s" % path)
# 是目錄則返回True屡限,否則返回False
print("目錄判斷:%s" % os.path.isdir(path))
# 判斷是否為文件品嚣,是則返回True,否則返回False
print("文件判斷:%s" % os.path.isfile(path))
# 判斷目錄或文件是否存在
print("目錄/文件存在:%s" % os.path.exists(path))
# 獲取文件大小钧大,若目標(biāo)為目錄則返回0
print("文件大泻渤拧:%s" % os.path.getsize(path))
# 獲取文件的絕對(duì)路徑
print("文件絕對(duì)路徑:%s" % os.path.abspath(path))
# 將目標(biāo)路徑規(guī)范化, 即更規(guī)范的路徑表達(dá)方式啊央,跨平臺(tái)標(biāo)識(shí)
print("規(guī)范化路徑: %s" % os.path.normpath(path))
# 將文件名和目錄分割
# 若傳入的是目錄眶诈,則將最后的目錄名做為文件名分割
print("目錄和文件名分割:", end="")
print(os.path.split(path))
# 分離文件名和擴(kuò)展名
print("文件名和擴(kuò)展名分離:", end="")
print(os.path.splitext(path))
# 獲取文件名
print("文件名為:%s" % os.path.basename(path))
# 獲取文件所在目錄
print("文件目錄為:%s" % os.path.dirname(path))
目錄遍歷
我們一起看看os模塊所提供的目錄遍歷方法:walk涨醋,直接上代碼實(shí)例:
walk返回值說(shuō)明:
返回值為一個(gè)迭代器對(duì)象,它的每個(gè)部分包含一個(gè)元組逝撬,即(目錄X, [目錄X下的目錄列表], [目錄X下的文件列表])
# -*- coding:utf-8 -*-
__author__ = '苦葉子'
import os
def walk_dir(target_dir):
# root 當(dāng)前根目錄
# dirs :root下的子目錄
# files:root下的子文件
walk_result = os.walk(target_dir)
# print(type(walk_result))
for root, dirs, files in walk_result:
# print(type(root), type(dirs), type(files))
print("-" , root)
# 遍歷當(dāng)前子目錄
for name in dirs:
print(" --", name)
# 遍歷當(dāng)前目錄的子文件
for name in files:
print(" --", name)
if __name__ == "__main__":
target_dir = os.curdir
walk_dir(target_dir)
小結(jié)
本文就如何對(duì)目錄浴骂、文件操作以及如何進(jìn)行目錄遍歷進(jìn)行了分享,來(lái)吧宪潮。把最好