[快學(xué)Python3]文件和目錄操作

概述

本文就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)吧宪潮。把最好

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末溯警,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子坎炼,更是在濱河造成了極大的恐慌愧膀,老刑警劉巖拦键,帶你破解...
    沈念sama閱讀 219,270評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谣光,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡芬为,警方通過(guò)查閱死者的電腦和手機(jī)萄金,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,489評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)媚朦,“玉大人氧敢,你說(shuō)我怎么就攤上這事⊙牛” “怎么了孙乖?”我有些...
    開封第一講書人閱讀 165,630評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)份氧。 經(jīng)常有香客問我唯袄,道長(zhǎng),這世上最難降的妖魔是什么蜗帜? 我笑而不...
    開封第一講書人閱讀 58,906評(píng)論 1 295
  • 正文 為了忘掉前任恋拷,我火速辦了婚禮,結(jié)果婚禮上厅缺,老公的妹妹穿的比我還像新娘蔬顾。我一直安慰自己,他們只是感情好湘捎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,928評(píng)論 6 392
  • 文/花漫 我一把揭開白布诀豁。 她就那樣靜靜地躺著,像睡著了一般窥妇。 火紅的嫁衣襯著肌膚如雪舷胜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,718評(píng)論 1 305
  • 那天秩伞,我揣著相機(jī)與錄音逞带,去河邊找鬼欺矫。 笑死,一個(gè)胖子當(dāng)著我的面吹牛展氓,可吹牛的內(nèi)容都是我干的穆趴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,442評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼遇汞,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼未妹!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起空入,我...
    開封第一講書人閱讀 39,345評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤络它,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后歪赢,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體化戳,經(jīng)...
    沈念sama閱讀 45,802評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,984評(píng)論 3 337
  • 正文 我和宋清朗相戀三年埋凯,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了点楼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,117評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡白对,死狀恐怖掠廓,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甩恼,我是刑警寧澤蟀瞧,帶...
    沈念sama閱讀 35,810評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站条摸,受9級(jí)特大地震影響悦污,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜屈溉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,462評(píng)論 3 331
  • 文/蒙蒙 一塞关、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧子巾,春花似錦帆赢、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,011評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至仪搔,卻和暖如春瘾婿,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,139評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工偏陪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抢呆,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,377評(píng)論 3 373
  • 正文 我出身青樓笛谦,卻偏偏與公主長(zhǎng)得像抱虐,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子饥脑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,060評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理恳邀,服務(wù)發(fā)現(xiàn),斷路器灶轰,智...
    卡卡羅2017閱讀 134,665評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,182評(píng)論 25 707
  • ¥開啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個(gè)線程谣沸,因...
    小菜c閱讀 6,426評(píng)論 0 17
  • 走在鋪滿金黃葉子的小路上,看著微風(fēng)吹過(guò)樹梢的聲音笋颤,頓時(shí)乳附,感到整個(gè)人都輕松了許多。邊走邊把自已也融入到這美麗的...
    何夢(mèng)琳閱讀 255評(píng)論 0 0
  • 今天,說(shuō)說(shuō)生活中的一些“小聰明”茬祷。 有時(shí)我們自以為很聰明清焕,確實(shí)也很聰明, 但是祭犯,太聰明了秸妥,往往就讓別人吃了虧。 結(jié)...
    嚴(yán)媽閱讀 413評(píng)論 0 0