zoukankan      html  css  js  c++  java
  • python学习笔记(六)文件夹遍历,异常处理

    python学习笔记(六)


    文件夹遍历


    1.递归遍历


    import os
    
    allfile = []
    def dirList(path):
          filelist = os.listdir(path)
          for filename in filelist:
                filepath=os.path.join(path,filename)
                if(os.path.isdir(filepath)):
                      dirList(filepath)
                allfile.append(filepath)
          return allfile
    
    print dirList('.')


    2.用os.walk()


    os.walk() 返回一个生成器,每个列表有3个元素。各自是,当前文件夹。当前文件夹中的文件夹。当前文件夹中的文件

    比如:

    import os
    
    g = os.walk('.')
    for i in g:
          print i

    输出:
    ('.', ['tt'], ['1.txt', '111.py', '2.py', '3', '3.py', '4.py', '5.py'])
    ('.\tt', ['a'], ['34.txt'])
    ('.\tt\a', [], ['12.txt'])

    样例:获取每一个文件名称字

    import os
    
    g = os.walk('.')
    for root,dirs,files in g:
          for filename in files:
                print os.path.join(root,filename)



    异常处理


    try...except

    样例:
    try:
          f()
    except NameError,msg:
          print "error"


    假设有多个可能的异常,仅仅需在后面再加except语句就可以

    try...except...finally


    finally后面加的代码一定会运行

    样例:
    try:
          g()
          open('aaa.py')
    except NameError,msg:
          print "name error"
    except IOError,msg:
          print "io error"
    finally:
          print 'end'
    

    输出:
    name error
    end

    io error不会输出。由于 g()产生的NameError比open('aaa.py')产生的IOError早,它先中断了,后面的代码都没运行。


    raise


    发出异常

    样例:
    try:
          raise IOError("noting")
    except NameError,msg:
          print "name error"
    except IOError,msg:
          print "io error"
    finally:
          print 'end'
    




  • 相关阅读:
    入职一周
    Qt音视频开发49-通用截图截屏
    Qt音视频开发48-通用通道管理
    Qt音视频开发47-通用视频控件
    Qt音视频开发46-视频传输UDP版
    Qt音视频开发45-视频传输TCP版
    Qt音视频开发44-实时人脸框
    Qt音视频开发43-人脸识别服务端
    Qt音视频开发42-人脸识别客户端
    Qt音视频开发41-人脸识别嵌入式
  • 原文地址:https://www.cnblogs.com/blfshiye/p/5224272.html
Copyright © 2011-2022 走看看