就我遇到的问题来说,主要有三种情况。
1、路径名写错了。
不知道哪里就少打了一个字母,或者是哪里写错了。如果路径太长不想一个字母一个字母盯着检查的话,可以使用cmd(windows),使用cd命令,查看是否能顺利到达指定路径,再检查指定路径下的文件名是否写错。
2、使用了特殊字符作为文件名。
比如使用了&、#、[]、=等特殊字符,这个时候就需要使用glob.escape(pathname)了。
假设我的路径名为pathname = ./test/,下面有两个文件, 文件1的文件名为‘test=1.txt’,文件2的文件名为‘test=2.txt’
pathname = ./test/
# 出错代码
# result = golb.golb(join(pathname, 'test=*.txt'))
path = join(pathname + 'test=')
result = golb.golb(golb.escape(path) + '*.txt') # 注意不要把 * 放到golb.escape()中
3、文件名其实不是你看到的那个文件名
这可能是非常奇葩的一个错误了,其实也可以归为第一类。
比如我看到我的电脑上的文件名叫test,复制的文件名也是test,但是我list之后发现,其实在电脑中存的名字叫test(1),因为我之前确实把它复制了一下。
我也不知道为什么会发生这种问题,我当时还反反复复检查了好几遍,死活想不通哪里出了问题。
总结:如果不是特殊字符的问题,最好使用命令行看一下你的电脑中是不是真的存在你想要找的文件。