首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python glob.glob(dir)内存错误

Python glob.glob(dir)内存错误
EN

Stack Overflow用户
提问于 2015-10-19 14:28:35
回答 1查看 981关注 0票数 1

我正在处理一个内存问题,当我在一个文件夹中搜索一个百万的文件。有人知道如何克服这种情况吗?有什么方法可以限制glob搜索的文件吗?这样它就可以成批执行了?

代码语言:javascript
复制
Traceback (most recent call last):
  File "./lb2_lmanager", line 533, in <module>
   main(sys.argv[1:])
 File "./lb2_lmanager", line 318, in main
    matched = match_files(policy.directory, policy.file_patterns)
  File "./lb2_lmanager", line 32, in wrapper
    res = func(*args, **kwargs)
  File "./lb2_lmanager", line 380, in match_files
    listing = glob.glob(directory)
  File "/usr/lib/python2.6/glob.py", line 16, in glob
    return list(iglob(pathname))
  File "/usr/lib/python2.6/glob.py", line 43, in iglob
    yield os.path.join(dirname, name)
  File "/usr/lib/python2.6/posixpath.py", line 70, in join
   path += '/' + b
MemoryError
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-19 14:43:42

尝试使用generators而不是lists

要理解生成器是什么,请阅读this

代码语言:javascript
复制
import glob
dir_list = glob.iglob(YOUR_DIRECTORY)
for file in dir_list:
    print file

YOUR_DIRECTORY更改为要列出的目录。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33217062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档