我正在使用 glob 查找目录中的所有 *.shp 文件,但目录名称包含“[]”,这导致 glob 失败。任何解决方法?

我的代码是:

glob.glob(sub_dir+os.sep+'soilmu_a_*.shp')

其中 sub_dir 是:
'C:\\Users\\oh\\wss_SSA_OH001_soildb_OH_2003_[2013-12-19]\\spatial\\'

我得到的错误信息是:
*** error: bad character range

最佳答案

正如手册页中所建议的,您可以修改您的模式并包装有问题的元字符。将[改为[[]]改为[]](元字符对应的单个字符范围)。

例如:

pattern = sub_dir + os.se p +'soilmu_a_*.shp'
pattern = pattern.replace('[','[[]').replace(']','[]]')
glob.glob(pattern)

关于名称中带有[]的目录的python glob问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22055500/

10-14 04:55