zoukankan      html  css  js  c++  java
  • python遍历文件

    一:只获取指定文件下的内容

    利用os下的listdir,可以获取到指定路径下的各种文件名,返回结果是一个列表,但这个列表的顺序是按照文件字母的顺序从a-z排序的,如遍历E:java这样一个文件,内容如下:

     看一下代码:

    import os
    
    path = "E:Java"
    
    result = os.listdir(path)
    print(result)

    输出内容如下:

    ['bin', 'COPYRIGHT', 'db', 'include', 'jdk1.8.0_191', 'jre', 'lib', 'LICENSE', 'README.txt', 'release', 'THIRDPARTYLICENSEREADME-JAVAFX.txt', 'THIRDPARTYLICENSEREADME.txt', 'Welcome.html']

    可以看到是一个已经经过排序的列表。

    二:分别获取到目录和文件

    利用os.listdir可以很方便的获取到指定目录下的各种文件名,但却不知道那些是目录,那些是文件,os.walk可以解决这个问题,菜鸟教程上说os.walk返回的是一个三元组(root,dirs,files),

    • root 所指的是当前正在遍历的这个文件夹的本身的地址
    • dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
    • files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

    而我的返回的是一个迭代器,不知道为啥会不一样,希望大佬看到后可以指点。。

    通过代码看一下:

    import os

    path = "E:Java"
    result = os.walk(path)
    for a, b, c in result:
    print("当前路径是:",a)
    print("当前路径下的目录有:",b)
    print("当前路径下的文件有:",c)
    break

    输出结果如下:

    当前路径是: E:Java
    当前路径写的目录有: ['bin', 'db', 'include', 'jdk1.8.0_191', 'jre', 'lib']
    当前路径的文件有: ['COPYRIGHT', 'LICENSE', 'README.txt', 'release', 'THIRDPARTYLICENSEREADME-JAVAFX.txt', 'THIRDPARTYLICENSEREADME.txt', 'Welcome.html']

    这样就把当前路径下的目录和文件区分开了。

    ***************不积跬步无以至千里***************

  • 相关阅读:
    css学习之LInk & import
    用javascript制作2048游戏的思路(原创若 转载请附上本链接)
    Sublime Text2中的快捷键一览表(Sublime 键盘快捷键大全 )
    《Scrum实战》第1次课课后任务
    反省读经教育理论的误区 ——关于十三岁之前理解的问题
    王守仁的学前教育思想
    孙氏太极拳--无极桩
    秘静克老人的站桩
    敏捷领域学习规划
    同侪隐修录 (2016-12-25 23:10:21)转载▼
  • 原文地址:https://www.cnblogs.com/liangshian/p/11765944.html
Copyright © 2011-2022 走看看