首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >pathlib2不适用于递归查找文件

pathlib2不适用于递归查找文件
EN

Stack Overflow用户
提问于 2018-07-28 20:16:47
回答 1查看 260关注 0票数 0

我正在使用python2.7并尝试递归地查找子目录中的文件,但pathlib2返回NULL

代码语言:javascript
运行
复制
>>> from pathlib2 import Path
>>> list(Path('~/text-segmentation/data/choi/').glob('**/*.ref'))
[]

而如果在python3中使用glob模块做同样的事情

代码语言:javascript
运行
复制
>>> import glob
>>> glob.glob('~/text-segmentation/data/choi/**/*.ref', recursive=True)
['./data/choi/2/9-11/34.ref', './data/choi/2/9-11/26.ref', './data/choi/2     
/9-11/30.ref'] 

此外,以下技术也不起作用

代码语言:javascript
运行
复制
>>> for root, dirnames, filenames in os.walk('~/text-segmentation/data/choi/'):
...     for filename in fnmatch.filter(filenames, '*.ref'):
...             matches.append(os.path.join(root, filename))

>>> matches
[]

我得在python2工作。有什么变通方法吗?

编辑:使用/home/myuser/而不是~

EN

回答 1

Stack Overflow用户

发布于 2018-07-28 20:33:12

如果您希望能够将~扩展为您的主目录,则必须使用带有expanduser()方法的PosixPath

代码语言:javascript
运行
复制
list(PosixPath('~/text-segmentation/data/choi/').expanduser().glob('**/*.ref'))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51571291

复制
相关文章

相似问题

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