4.2os.walk()os.chdir()的作用

4.2os.walk()os.chdir()的作用

os.walk()

概述

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
os.walk() 方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。

简单来说,os.walk()是深度遍历子文件和文件夹的一种方式

与os.listdir()的差别

通常当我们看到遍历文件和文件夹的时候,第一个想到的就是os.listdir()使用方法如下

import os
print(os.listdir(os.getcwd()))

运行结果是以列表的形式

['homeWork1.py', 'homeWork2.1.py', 'homeWork2.2.py', 'homeWork2.3.py', 'homeWork2.4.py', 'homeWork3..py', 'homeWork4.1.py', 'homeWork4.2.py', 'homeWork5.1.py', 'homeWork5.2.py', 'homeWork6.1.py', 'test']

然而,从下图我们看到os.listdir的局限性
test文件下的test1和test2并没有被遍历

很多时候我们需要将文件夹下的所有文件都找出来,此时我们就需要os.walk()

os.walk()的使用

import os

image_path = os.getcwd()
for i in os.walk(image_path):
    print(i)

运行结果

('E:\\pycharm\\千锋直播\\homeWork', ['test'], ['homeWork1.py', 'homeWork2.1.py', 'homeWork2.2.py', 'homeWork2.3.py', 'homeWork2.4.py', 'homeWork3..py', 'homeWork4.1.py', 'homeWork4.2.py', 'homeWork5.1.py', 'homeWork5.2.py', 'homeWork6.1.py'])
('E:\\pycharm\\千锋直播\\homeWork\\test', ['test1', 'test2'], [])
('E:\\pycharm\\千锋直播\\homeWork\\test\\test1', [], ['test.txt'])
('E:\\pycharm\\千锋直播\\homeWork\\test\\test2', [], ['test.py'])

可以看到os.walk()以元组为单位区分每一层的,每一层又分成三个部分
根目录路径、本目录中文件夹名字、本目录中文件名字。
这样我们就可以深层遍历文件夹了

os.chdir()

概述

os.chdir() 方法用于改变当前工作目录到指定的路径。

os.chdir()的使用

import os

path = r"E:\pycharm\千锋直播\homeWork\test\test1"

# 查看当前工作目录
retval = os.getcwd()
print("当前工作目录为 %s" % retval)

# 修改当前工作目录
os.chdir( path )

# 查看修改后的工作目录
retval = os.getcwd()

print("目录修改成功 %s" % retval)

运行结果

当前工作目录为 E:\pycharm\千锋直播\homeWork\test\test2
目录修改成功 E:\pycharm\千锋直播\homeWork\test\test1

我们看到os.chdir()改变了工作目录的路径,但文件位置并没有改变,只是变换了通道

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值