lzth.net
当前位置:首页 >> Python新手,用os.wAlk()的时候出现了问题,请教一下 >>

Python新手,用os.wAlk()的时候出现了问题,请教一下

\t会转义为制表符,在字符串前面加个r让字符串不转义 import os g=os.walk(r'D:\python\testdir') g.next() 请确定tesdir下面还有子文件(夹)

for 当前目录root, 当前目录下的全部子目录名dirs, 当前目录下的所有文件名files in os.walk(根目录files, 是否从浅到深topdown 语法是在for in 中分解了一个元组(root,dirs,files)

你可以使用for循环进行遍历 for x in os.walk('E:\\') print(x)

import sys reload(sys) sys.setdefaultencoding('utf-8')

source_dir = os.listdir(os.getcwd()) 改为 source_dir=os.getcwd() 这样就直接得到目录了,再用os.walk就可以得到所有目录下的文件了 如果用listdir会直接得到一个列表,含有当前目录最高一级下的文件和文件夹,当然不对

文件头部的编码格式声明,只是告诉解释器,本文件是什么编码格式的,与你这个问题并无直接关系。os.walk()中应该传str还是unicode,这个问题你应该去查下文档,而不是靠猜。试一下这样做吧:os.walk(u'含中文的路径'.encode('gbk'))

这样子会有很多问题的,不应该这样做,会出现很多潜在的bug,因为dir1和dir2里面的层数是不一样的,不能这样迭代,正常应该分别历遍两个目录,如果你一定要这样做,可以这样写. for a,b in zip( os.walk( dir1 ) ,os.walk( dir2 ) ): print( a ,b )

函数声明:walk(top,topdown=True,onerror=None) 1>参数top表示需要遍历的目录树的路径 2>参数topdown的默认值是"True",表示首先返回目录树下的文件,然后在遍历目录树的子目录.Topdown的值为"False"时,则表示先遍历目录树的子目录,返回子目录...

有几个地方: python2是你读的字符什么编码,就处理什么编码,读进来的字符一般要decode再encode python3是读进来的都是unicode,用时自动编码 你的文件名可能是一个字符编码,而运行环境可能是另一个字符编码 所以,估计你用的是python2,而且...

os.walk(top, topdown=True, onerror=None, followlinks=False) 可以得到一个三元tupple(dirpath, dirnames, filenames), 第一个为起始路径,第二个为起始路径下的文件夹,第三个是起始路径下的文件。 dirpath 是一个string,代表目录的路径, d...

网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com