q1208c 发表于 2014-02-13 10:01

glob 不能跟 '[]' 一起工作?

昨天晚上在 perl上发现这个问题, 当时没注意, 以为我的代码写错了, 所以, 没管它.

今天早上来改用 python, 结果发现同样的问题, 当时的路径是[僵尸]--(2013)经测试, 问题与 '--' 和 '()' 无关, 只要路径中有 '[]' 就会有问题. glob 返回的结果是空的.

为啥? 要如何解决呢?

:em06: :em06:

timespace 发表于 2014-02-13 10:30

回复 1# q1208c Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 16 2013, 23:39:35)
on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> with open('[僵尸]--(2013)', 'w') as fp:
...   pass
...
>>> import glob
>>> glob.glob('[僵尸]--(2013)')
[]
>>> glob.glob('[[]僵尸[]]--(2013)')
['[僵尸]--(2013)']

q1208c 发表于 2014-02-13 10:36

多谢. 我试试
:em03:

q1208c 发表于 2014-02-13 10:46

回复 2# timespace

:em06:测试成功了.

但实用中发现, 有新的问题了. 因为原路径中 有 '[]', 我在替换的时候, 结果, 把我替换进去的 [] 又替换了一次, 出来一串的 [[[]]], 结果, 还是出错了.

可能是我用的不对, 我用的 str.replace('[', '[[]').

唉, 算了. 改用 os.listdir 了. 自己解决匹配问题了.

:em16:
   
页: [1]
查看完整版本: glob 不能跟 '[]' 一起工作?