返回顶部
首页 > 资讯 > 后端开发 > Python >python的os遍历
  • 362
分享到

python的os遍历

遍历pythonos 2023-01-31 01:01:29 362人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

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

使用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


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

--结束END--

本文标题: python的os遍历

本文链接: https://www.lsjlt.com/news/183854.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python的os遍历
    使用python遍历目录用到方法一:os.path.walk(top, func, arg)模块方法,该方法需要输入3个参数:top为起始路径, func为回调函数(可以对遍历出的目录文件做处理),arg为回调函数func的参数。见下例子:...
    99+
    2023-01-31
    遍历 python os
  • Python数组的遍历
    Python的数组是一个好东西啊, 在Python中,我们习惯这样遍历: for item in sequence: process(item) 这样遍历取不到item的序号i,所有就有了下面的遍历方法: for index in ...
    99+
    2023-01-31
    遍历 数组 Python
  • python文件遍历
    #遍历储存文件def text_save(filename, product): # filename为写入文件的路径,product为要写入数据列表.file = open(filename, 'a') # 打開或者創建文件for ...
    99+
    2023-01-30
    遍历 文件 python
  • python遍历文件
    #今天模仿前锋教育视频写的,感觉很实用。import osdef alldir(path,sp=''): file_list=os.listdir(path) # print(file_list) sp+='***' ...
    99+
    2023-01-30
    遍历 文件 python
  • Python list遍历remove(
    有这样一个列表: s=list('abcdefg')  现在因为某种原因我们需要从s中踢出一些不需要的元素,方便起见这里直接以踢出所有元素的循环代替: for e in s: s.remove(e)  结果却是: I...
    99+
    2023-01-31
    遍历 Python list
  • python 遍历日期
    import datetime start = '2016-06-01' end = '2017-01-01' datestart = datetime.datetime.strptime(start, '%Y-%m-%d') date...
    99+
    2023-01-31
    遍历 日期 python
  • python深度遍历
    import os def DeepthSearch(path):stack1 = []OrdinaryFiles = []stack1.append(path)num = 0while len(stack1) != 0:one = sta...
    99+
    2023-01-31
    遍历 深度 python
  • python 遍历目录
    python使用os模块判断文件基础知识#导入os模块 import os #判断路径是否存在(True, False) os.path.exists('/tmp/test') #判断目标是否是文件(True, False) os.path...
    99+
    2023-01-31
    遍历 目录 python
  • N叉树的三种遍历(层次遍历、前序遍历、后序遍历)
    目录题目链接:1、层次遍历2、前序遍历3、后序遍历题目链接: 590.N叉树的后序遍历 429.N叉树的层序遍历 598.N叉树的前序遍历 1、层次遍历 """ # Definit...
    99+
    2024-04-02
  • python的序列遍历和字典遍历的实现方法
    这篇文章主要介绍“python的序列遍历和字典遍历的实现方法”,在日常操作中,相信很多人在python的序列遍历和字典遍历的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解...
    99+
    2024-04-02
  • Python算法之图的遍历
    本节主要介绍图的遍历算法BFS和DFS,以及寻找图的(强)连通分量的算法 Traversal就是遍历,主要是对图的遍历,也就是遍历图中的每个节点。对一个节点的遍历有两个阶段,首先是发现(discover),...
    99+
    2022-06-04
    遍历 算法 Python
  • python列表遍历的方式
    本篇内容主要讲解“python列表遍历的方式”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python列表遍历的方式”吧!1、直接遍历,但这种遍历方式比较局限,只能读取,不能修改元素的值。lis...
    99+
    2023-06-20
  • python 的列表遍历删除
    python的列表list可以用for循环进行遍历,实际开发中发现一个问题,就是遍历的时候删除会出错,例如l = [1,2,3,4]for i in l:    if i != 4:     l.remove(i)print l这几句话本来...
    99+
    2023-01-31
    遍历 列表 python
  • Python字典遍历的陷阱
    众所周知,Python中常常按照key、value的形式来遍历字典的items。若value是基本数据类型(int,float等),则是传的拷贝,是不能直接修改value的: d...
    99+
    2024-04-02
  • 使用Python实现树的遍历算法和类型的树的遍历
    树遍历意味着访问树中的每个节点。和线性数据结构单一的遍历方式不同,二叉树是分层式数据结构可以以不同的方式遍历。 树遍历结构特点 1、每个树的节点都承载一个数据 2、每个树下都有2个子树 树遍历有三种类型 1、中序遍历 先遍历左子树...
    99+
    2024-01-23
  • Python 遍历循环详细
    目录一、基本用法二、计数循环三、字符串遍历循环四、列表遍历循环五、文件遍历循环六、遍历循环的扩展模式一、基本用法 for <循环变量> in <遍历结构>: ...
    99+
    2024-04-02
  • python如何反向遍历
    这篇文章主要介绍了python如何反向遍历,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。反向遍历colors = [&#...
    99+
    2024-04-02
  • python怎么遍历元祖
    在python中对元祖进行遍历的方法使用迭代遍历元组info_tuple_01 = ("zhangsan",18,1.75) #创建一个元祖#使用迭代遍历元组for my_info in info_tuple_01:print(my_inf...
    99+
    2024-04-02
  • python怎么遍历集合
    在python中对集合进行遍历的方法有以下两种使用for循环对集合进行遍历A = {'1','2','star'}for item in A:print(item,end='') 使用while对集合进行循环遍历A = {'1','2','...
    99+
    2024-04-02
  • python怎么遍历字典
    在python中对字典进行遍历的方法有以下几种通过key值遍历>>> a{'a': '1', 'b': '2', 'c': '3'}>>> for key in a:print(key+':'+a[key]) a:1b:2c:3>>> fo...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作