查看原文
其他

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

苦叶子 开源优测 2022-11-13

点击上方蓝字“开源优测”一起玩耍

概述

本文就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)
没了 ^_^

 

开源优测

分享软件测试开源技术、经验、方案的首发平台

长按二维码/微信扫描 关注开源优测

QQ群:260407012

苦叶子私人微信:liyimin1912

有问题,可留言或加好友进微信群

苦叶子原创文章首发平台


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存