2015-12-21 89 views
1

我看到了这个答案 - How can I search sub-folders using glob.glob module in Python?但我不明白os.walk()在做什么(我阅读了文档,但它不太合理)。使用Glob在一个子文件夹中列出文件

我真的很陌生,仍然试图理解它。

我生活在一个脚本 - /users/name/Desktop/folder/,我想访问/users/name/Desktop/folder/subfolder/*.html

我试图glob.glob('/users/name/Desktop/folder/subfolder/*.html')一些文件,但它返回一个空列表。我意识到这是以前的人做的,它没有工作(我只是希望glob已经更新!)

有关如何做到这一点的任何想法?

+0

“子文件夹”本身中的文件?您链接的问题似乎是关于递归通配:在路径的子文件夹(等)的子文件夹的子文件夹中查找与“* .html”匹配的每个文件。如果这些文件实际上位于名为'subfolder'的文件夹中,而不是该文件夹下的文件夹,则不需要递归通配符,并且您粘贴的代码应该是Just Work。 –

+0

有没有一种很好的方法来确保我正在做正确的路径?我有我的MainFolder文件夹与我的脚本,然后两个子文件夹,文件夹A和文件夹B.我想要在MainFolder中并运行使用文件夹A中的文件的脚本。 –

+0

您可以尝试打开Terminal.app并执行' ls'后面加上双引号(包括'* .html')。如果这没有给出任何结果,你正在寻找的文件是其他地方。如果它给出了一个错误,你的路径是错误的,bash会向你大喊。如果它确实给出了结果,那么问题出在你的脚本上。 –

回答

2

没有任何进一步的信息,很难说出什么问题。我测试了你的语法,对我来说工作正常。您确定/users/name/Desktop/folder/subfolder/目录中的扩展名是.html而不是.htm

此外,为进一步解决你可以查阅一下Python可以通过运行目录下看到:

os.listdir('/users/name/Desktop/folder/subfolder/')

这应该让你开始。

+0

啊,好吧,用我发现我的错误:-)'文件夹'实际上是''更长的名字'',我习惯在终端上做''长'名字'。一旦我删除'\'它的工作! –

+0

太棒了!做得好! –

相关问题