我的编程空间,编程开发者的网络收藏夹
学习永远不晚

python的os遍历

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

python的os遍历

使用python遍历目录用到

方法一:

os.path.walk(top, func, arg)

模块方法,该方法需要输入3个参数:

top为起始路径, 

func为回调函数(可以对遍历出的目录文件做处理),

arg为回调函数func的参数。

见下例子:

#!/usr/bin/env python
import os
import time

#定义一个回调函数,实现找出路径下所有访问时间大于3天的文件
def filter_file(arg, dirname, files):#回调函数的3个参数,arg,walk后查找的dirname, filename
    for f in files:
        file_path = os.path.join(dirname, f)
        if os.path.isfile(file_path): #判断是否为文件,是则继续
            if time.time() - os.path.getatime(file_path) > arg:#当前时间和文件的访问时间差大于3天则打印
                print file_path

#'/root'为起始路径
#filter_file为回调函数
#259200为回调函数的参数,是3天的秒数    
os.path.walk('/root', filter_file, (259200))


方法二:

使用os.walk

os.walk(top) 此方法默认只需要输入起始路径参数,它会返回一个迭代的对象,迭代出来是一个元组对象,里面有3个数据,第一个起始路径下的目录,第二个是这个目录下的所有目录列表,如果没有则是空列表,第三个是这个目录下所有的文件列表,如果没有则为空。

来看例子:

#!/usr/bin/env python
import os
for item in os.walk('test'):
    print item

输出:

('test', ['case8', 'case2', 'case1', 'case6'], ['downloadimg.py', 'wrapper.py', '1024.py'])
('test/case8', ['files1', 'files2'], ['simple_node.py', 'server.py', 'server.pyc', 'client.py'])
('test/case8/files1', [], ['test.txt'])
('test/case8/files2', [], ['test.txt'])
('test/case2', [], ['website.xml', 'handler.py'])
('test/case1', [], ['utils.py', 'text', 'rules.py', 'rules.pyc', 'handlers.py', 'utils.pyc', 'markup.py', 'test_output.html', 'handlers.pyc'])
('test/case6', [], ['simple_edit.dat', 'simple_edit.cgi'])

可以看出迭代出许多元组,每一元组第一个元素是test目录下的所有目录,第二个目录列表是第一个目录元素下的所有目录,没有的是空列表,第三个文件列表是第一个目录元素下的所有文件。

我们使用循环打印出文件:

#!/usr/bin/env python
import os
for dirpath, dirnames, filenames in os.walk('test'):
    if filenames:
        for f in filenames:
            print os.path.join(dirpath, f)

输出:

test/downloadimg.py
test/wrapper.py
test/1024.py
test/case8/simple_node.py
test/case8/server.py
test/case8/server.pyc
test/case8/client.py
test/case8/files1/test.txt
test/case8/files2/test.txt
test/case2/website.xml
test/case2/handler.py
test/case1/utils.py
test/case1/text
test/case1/rules.py
test/case1/rules.pyc
test/case1/handlers.py
test/case1/utils.pyc
test/case1/markup.py
test/case1/test_output.html
test/case1/handlers.pyc
test/case6/simple_edit.dat
test/case6/simple_edit.cgi


这两种方法可以根据需求选择。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

python的os遍历

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

python的os遍历

使用python遍历目录用到方法一:os.path.walk(top, func, arg)模块方法,该方法需要输入3个参数:top为起始路径, func为回调函数(可以对遍历出的目录文件做处理),arg为回调函数func的参数。见下例子:
2023-01-31

Python list遍历remove(

有这样一个列表:s=list('abcdefg') 现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替:for e in s: s.remove(e) 结果却是:In [3]: sOut[3]
2023-01-31

Python数组的遍历

Python的数组是一个好东西啊, 在Python中,我们习惯这样遍历: for item in sequence: process(item) 这样遍历取不到item的序号i,所有就有了下面的遍历方法: for index in
2023-01-31

python遍历文件

#今天模仿前锋教育视频写的,感觉很实用。import osdef alldir(path,sp=''): file_list=os.listdir(path) # print(file_list) sp+='***'
2023-01-30

python 遍历目录

python使用os模块判断文件基础知识#导入os模块import os#判断路径是否存在(True, False)os.path.exists('/tmp/test')#判断目标是否是文件(True, False)os.path.isfi
2023-01-31

python深度遍历

import osdef DeepthSearch(path):stack1 = []OrdinaryFiles = []stack1.append(path)num = 0while len(stack1) != 0:one = stac
2023-01-31

python 遍历日期

import datetimestart = '2016-06-01'end = '2017-01-01'datestart = datetime.datetime.strptime(start, '%Y-%m-%d')dateend = 
2023-01-31

python文件遍历

#遍历储存文件def text_save(filename, product): # filename为写入文件的路径,product为要写入数据列表.file = open(filename, 'a') # 打開或者創建文件for i
2023-01-30

Python算法之图的遍历

本节主要介绍图的遍历算法BFS和DFS,以及寻找图的(强)连通分量的算法 Traversal就是遍历,主要是对图的遍历,也就是遍历图中的每个节点。对一个节点的遍历有两个阶段,首先是发现(discover),然后是访问(visit)。遍历的重
2022-06-04

python 的列表遍历删除

python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l = [1,2,3,4]for i in l:    if i != 4:     l.remove(i)print l这几句话本来
2023-01-31

python列表遍历的方式

本篇内容主要讲解“python列表遍历的方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python列表遍历的方式”吧!1、直接遍历,但这种遍历方式比较局限,只能读取,不能修改元素的值。lis
2023-06-20

python怎么遍历列表

python 中遍历列表可通过以下方法:for 循环:逐个遍历元素。列表推导:创建新列表并遍历原始列表。enumerate():返回元素索引和元素的元组。zip():将多个可迭代对象的元素配对。iter():返回列表的迭代器,可逐步遍历元素
python怎么遍历列表
2024-05-22

使用Python实现树的遍历算法和类型的树的遍历

树遍历意味着访问树中的每个节点。和线性数据结构单一的遍历方式不同,二叉树是分层式数据结构可以以不同的方式遍历。树遍历结构特点1、每个树的节点都承载一个数据2、每个树下都有2个子树树遍历有三种类型1、中序遍历先遍历左子树所有节点,
使用Python实现树的遍历算法和类型的树的遍历
2024-01-23

Python解析树及树的遍历

解析树 完成树的实现之后,现在我们来看一个例子,告诉你怎么样利用树去解决一些实际问题。在这个章节,我们来研究解析树。解析树常常用于真实世界的结构表示,例如句子或数学表达式。图 1:一个简单句的解析树 图 1 显示了一个简单句的层级结构。将一
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录