Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Glob在网络位置上的递归失败?_Python_Glob_Pathlib - Fatal编程技术网

Python Glob在网络位置上的递归失败?

Python Glob在网络位置上的递归失败?,python,glob,pathlib,Python,Glob,Pathlib,我正在尝试从网络位置递归地获取特定类型文件(.EIA)的文件路径,这是我第一次使用pathlib 尝试从顶级搜索时如下所示: >>> for path in pathlib.Path('\\\\192.168.40.104').rglob('*.EIA'): ... print(path) ... >>> >>> for path in pathlib.Path('\\\\192.168.40.104\\510bd').rglob(

我正在尝试从网络位置递归地获取特定类型文件(.EIA)的文件路径,这是我第一次使用pathlib

尝试从顶级搜索时如下所示:

>>> for path in pathlib.Path('\\\\192.168.40.104').rglob('*.EIA'):
...     print(path)
...
>>>
>>> for path in pathlib.Path('\\\\192.168.40.104\\510bd').rglob('*.EIA'):
...     print(path)
...
\\192.168.40.104\510bd\CLASSIFIED-01-110.EIA
\\192.168.40.104\510bd\CLASSIFIED-02-110.EIA
\\192.168.40.104\510bd\CLASSIFIED-01-110-510C-BD.EIA
\\192.168.40.104\510bd\CLASSIFIED-01-120.EIA
\\192.168.40.104\510bd\CLASSIFIED-02-110.EIA
\\192.168.40.104\510bd\CLASSIFIED-01-70A.EIA
>>>
(它不打印任何内容)

但将其定向到一个我知道包含一些.EIA文件的文件夹,如下所示:

>>> for path in pathlib.Path('\\\\192.168.40.104').rglob('*.EIA'):
...     print(path)
...
>>>
>>> for path in pathlib.Path('\\\\192.168.40.104\\510bd').rglob('*.EIA'):
...     print(path)
...
\\192.168.40.104\510bd\CLASSIFIED-01-110.EIA
\\192.168.40.104\510bd\CLASSIFIED-02-110.EIA
\\192.168.40.104\510bd\CLASSIFIED-01-110-510C-BD.EIA
\\192.168.40.104\510bd\CLASSIFIED-01-120.EIA
\\192.168.40.104\510bd\CLASSIFIED-02-110.EIA
\\192.168.40.104\510bd\CLASSIFIED-01-70A.EIA
>>>
所以。为什么rglob不是递归搜索

编辑:我在glob上重复了同样的问题:

>>> glob.glob('\\\\192.168.40.104\\**\\*.EIA',recursive=True)
[]
>>>
当然:

>>> glob.glob('\\\\192.168.40.104\\510bd\\*.EIA',recursive=True)
['\\\\192.168.40.104\\510bd\\CLASSIFIED-01-110.EIA', 
'\\\\192.168.40.104\\510bd\\CLASSIFIED-02-110.EIA', 
'\\\\192.168.40.104\\510bd\\CLASSIFIED-01-110-510C-BD.EIA', 
'\\\\192.168.40.104\\510bd\\CLASSIFIED-01-120.EIA', 
'\\\\192.168.40.104\\510bd\\CLASSIFIED-02-110.EIA', 
'\\\\192.168.40.104\\510bd\\CLASSIFIED-01-70A.EIA']

我现在不是在Windows机器上自己测试东西,但是顶级的
\\somehost
很特别:它列出了该主机上可用的共享。而
\\somehost\someshare
指的是一个特定的共享,
\\somehost\someshare\somedir
指的是一个主机共享上的一个目录。其要点是,在实现级别上,顶层与对单个共享中任何目录的引用完全不同,因此,在应用程序层上出现一些行为上的差异也就不足为奇了。请参阅:泄漏抽象定律&c。因此,您会预测,如果我从目录层开始,glob将从那时起按预期运行?共享层或目录层应该很好,是的。我在不同的网络位置从较低的级别尝试了这一点,它起了作用。(非常感谢!)不幸的是,这对我来说并没有什么特别的帮助,因为感兴趣的文件是从顶部向下一层的——有多个网络位置设置成这样。