[快学Python3]文件和目录操作

概述

本文就os和path模块中常用的方法进行了说明和列举,更多的方法和技巧请参加官方文档

os模块常用方法

我们先看看os模块所提供的目录操作方法,直接上代码实例:

# -*- coding:utf-8 -*-

__author__ = '苦叶子'

# 导入os模块
import os

if __name__ == "__main__":
    # 返回完整的路径目录
    print("获取当前工作目录")
    print(os.getcwd())

    # 返回的是: .
    print("获取当前目录")
    print(os.curdir)

    # 创建目录
    # 目标创建目录必须是不存在的,否则抛出异常
    os.mkdir("test_mk1")

    # 重命名目录
    os.rename("test_mk1", "test_mk2")

    # 删除指定目录
    # 要注意目标删除目录必须是无子目录、子文件
    # 目标删除目录必须存在,否则抛出异常
    # 使用该代码时,请将目标删除目录改为你要删除的目录
    # os.removedirs("test_mk1")

    # 将改变至C盘
    print("改变工作目录到dirname")
    os.chdir("c:")
    print(os.getcwd())

path模块常用方法

我们通过下面的代码实例来看看如何使用path模块提供的方法来管理文件。

# -*- coding:utf-8 -*-

__author__ = '苦叶子'

import os

if __name__ == "__main__":
    # 先初始化当前文件全路径变量
    path = __file__
    print("当前文件全路径为: %s" % path)

    # 是目录则返回True,否则返回False
    print("目录判断:%s" % os.path.isdir(path))

    # 判断是否为文件,是则返回True,否则返回False
    print("文件判断:%s" % os.path.isfile(path))

    # 判断目录或文件是否存在
    print("目录/文件存在:%s" % os.path.exists(path))

    # 获取文件大小,若目标为目录则返回0
    print("文件大小:%s" % os.path.getsize(path))

    # 获取文件的绝对路径
    print("文件绝对路径:%s" % os.path.abspath(path))

    # 将目标路径规范化, 即更规范的路径表达方式,跨平台标识
    print("规范化路径: %s" % os.path.normpath(path))

    # 将文件名和目录分割
    # 若传入的是目录,则将最后的目录名做为文件名分割
    print("目录和文件名分割:", end="")
    print(os.path.split(path))

    # 分离文件名和扩展名
    print("文件名和扩展名分离:", end="")
    print(os.path.splitext(path))

    # 获取文件名
    print("文件名为:%s" % os.path.basename(path))

    # 获取文件所在目录
    print("文件目录为:%s" % os.path.dirname(path))

目录遍历

我们一起看看os模块所提供的目录遍历方法:walk,直接上代码实例:

walk返回值说明:
返回值为一个迭代器对象,它的每个部分包含一个元组,即(目录X, [目录X下的目录列表], [目录X下的文件列表])

# -*- coding:utf-8 -*-

__author__ = '苦叶子'

import os

def walk_dir(target_dir):
    # root 当前根目录
    # 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)
        # 遍历当前子目录
        for name in dirs:
            print(" --", name)

        # 遍历当前目录的子文件
        for name in files:
            print(" --", name)

if __name__ == "__main__":

    target_dir = os.curdir
    walk_dir(target_dir)

小结

本文就如何对目录、文件操作以及如何进行目录遍历进行了分享,来吧。把最好

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 156,907评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,546评论 1 289
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,705评论 0 238
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,624评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,940评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,371评论 1 210
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,672评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,396评论 0 195
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,069评论 1 238
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,350评论 2 242
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,876评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,243评论 2 251
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,847评论 3 231
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,004评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,755评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,378评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,266评论 2 259

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 170,544评论 25 707
  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 6,189评论 0 17
  • 走在铺满金黄叶子的小路上,看着微风吹过树梢的声音,顿时,感到整个人都轻松了许多。边走边把自已也融入到这美丽的...
    何梦琳阅读 242评论 0 0
  • 今天,说说生活中的一些“小聪明”。 有时我们自以为很聪明,确实也很聪明, 但是,太聪明了,往往就让别人吃了亏。 结...
    严妈阅读 359评论 0 0