首页 > TAG信息列表 > os-walk
重写os.walk以返回生成器对象作为第三项
在检查os.walk的效率时,我使用字符串Hello< number>创建了6,00,000个文件. (其中number只是一个数字,指示目录中文件的编号),例如目录中文件的内容如下所示:- File Name | Contents 1.txt | Hello 1 2.txt | Hello 2 . . 600000.txt|Hello 600000 现在,我运行以下代码: a=有没有一种方法可以检索Python中的子目录而不必遍历所有文件?
我正在寻找一种列出当前工作目录中包含的子目录的方法,但是,我一直无法找到一种不会遍历所有文件的方法. 本质上,如果我有一个包含大量文件的文件夹和2个文件夹,则我想要一种可以快速返回包含2个文件夹名称的列表的方法,而不必扫描所有文件. 有没有办法在Python中做到这一点? 编辑:我当文件名较长时,Python的os.walk()在Windows中失败
我使用python os.walk()获取某些目录中的文件和目录,但是有些文件的名称太长(> 300),os.walk()不返回任何内容,使用onerror我得到了“ [错误234]更多数据可用’.我尝试使用yield,但一无所获,并显示“ Traceback:StopIteration”. OS是Windows,代码很简单.我已经用目录测试过,如果有python-os.walk()不打印/访问文件
我正在尝试使用os.walk来访问给定文件夹中的所有文件和所有子文件夹.首先,我的代码如下所示: for root, dirs, files in os.walk("/home/DataScience"): for dirName in dirs: print dirName 但是,上面的输出将files变量放入列表中-我需要它来遍历列表中的每个对python – 使用os.walk定位目录
由于一个庞大而复杂的目录结构,我的脚本正在搜索太多目录: root-- | --Project A-- | -- Irrelevant -- Irrelevant -- TARGET | --Project B-- |python – 将特定文件复制到新文件夹,同时保留原始子目录树
我有一个包含许多子目录的大型目录,我正在尝试排序,我正在尝试将特定文件类型复制到新文件夹,但我想维护原始子目录. def copyFile(src, dest): try: shutil.copy(src,dest) except shutil.Error as e: print('Error: %s' % e) except IOError as e: print('Error: %s提高python os.walk正则表达式算法的效率
我正在使用os.walk从特定文件夹中选择与正则表达式匹配的文件. for dirpath, dirs, files in os.walk(str(basedir)): files[:] = [f for f in files if re.match(regex, os.path.join(dirpath, f))] print dirpath, dirs, files 但这必须处理basedir下的所有文件和文件python – Os.walk不能使用与regex匹配的目录
这是我使用的代码.为什么不能行走? import os, re cwd = os.getcwd() directory= 'Box II' dirpattern = re.compile(r'^.*?\\'+directory+'.*?', re.M) for root, dirs, files in os.walk(os.path.abspath(cwd)): if dirpattern.search(root):python – os.walk泄漏内存吗?
当我在Windows中运行这个Python脚本时,进程增长,看不到明显的结束: import os for i in xrange(1000000): for root, dirs, files in os.walk(r"c:\windows"): pass 我误会了什么吗? (我使用的是Python 2.7.3.)解决方法:这是由于os.path.isdir中发现的内存泄漏;见Huge以惯用的方式在Python中迭代os.walk中的各个文件
我开始使用从another stackoverflow question获得的一些代码来为目录树中的所有文件生成完整路径: import os def recursive_file_gen(mydir): for root, dirs, files in os.walk(mydir): for file in files: yield os.path.join(root, file) 我想添加mem