os.walk与os.path.walk

来源:互联网 发布:手机淘宝如何处理退款 编辑:程序博客网 时间:2024/05/16 12:12

学习的过程中遇到了os模块的walk函数,经过help查询帮助后大致明白了什么意思:

os.walk(top,topdown=True,onerror=None)需要三个参数,其中top是必须给出的路径变量,后两个可以不给,但是系统默认的有值,就是上面写的那种。

它的返回值是元组的形式,包括每次遍历的路径名,文件夹名,文件名(其中文件路径是字符串形式的,文件夹是列表,文件名也是列表):下面是我的python文件夹里面的内容,其中有20120627和class两个文件夹,可以看到结果中三个元组,第一个是所给的路径下面的文件,第二个是20120627这个文件夹下的文件(如果它下面还有文件夹就会继续遍历),第三个是class的文件夹的文件:

[root@fsailing1 python]# ls172713.zip          expression.py   helloworld.py     test.py20120627            for.py          if.py             using_dict.py20120627165311.zip  function1.py    mymodul_demo1.py  using_list.pybackup_ver1.py      fun_default.py  mymodul_demo.py   using_sys.pybackup_ver2.py      fun_doc.py      mymodul.py        using_tuple.pybackup_ver3.py      fun_local.py    mymodul.pyc       var.pybreak.py            fun_param.py    reference.py      while.pyclass               fun_print.py    seq.pycontinue.py         fun_return.py   str_methods.py[root@fsailing1 python]# pyPython 2.4.3 (#1, Jun 18 2012, 08:55:31)[GCC 4.1.2 20080704 (Red Hat 4.1.2-52)] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import os>>> for i in os.walk('/root/python'):...     print i...
('/root/python', ['class', '20120627'], ['expression.py', 'using_sys.py', 'using_dict.py', 'backup_ver1.py', 'seq.py', 'var.py', 'using_tuple.py', 'mymodul_demo1.py', 'while.py', '.var.py.swp', 'fun_param.py', 'backup_ver3.py', 'function1.py', 'fun_print.py', 'break.py', 'fun_local.py', 'backup_ver2.py', 'mymodul_demo.py', 'fun_doc.py', 'mymodul.py', 'using_list.py', 'test.py', 'for.py', 'reference.py', 'continue.py', '172713.zip', 'if.py', 'helloworld.py', '20120627165311.zip', 'fun_return.py', 'fun_default.py', 'mymodul.pyc', 'str_methods.py'])('/root/python/class', [], ['pickling.py', 'inherit.py', 'shoplist.data', 'raising.py', 'try_except.py', 'method.py', 'poem.txt', 'checkhcp.py', 'using_file.py', 'objvar.py'])('/root/python/20120627', [], ['203634.zip', '203320.zip', '172929.zip', '203154.zip', '201618_mysql.zip', '203125.zip'])
os.path.walk(top,func,arg):需要三个参数,top是路径了,func是迭代函数,arg是参数,可以看到的是他们都是必须给出的系统不会默认初始值:

其他的没有研究过,只是感觉不好用呗。

help真心是一个很好用的查询工具,

原创粉丝点击