使用glob()获取自定义目录中的文件列表

5 投票
1 回答
3052 浏览
提问于 2025-04-16 02:27

我正在尝试写一个程序,让用户可以输入自己想要的文件目录,然后重命名文件。现在我才刚开始做这个程序。这是我第一次使用OS和glob命令。

下面是我的代码。不过当我运行它的时候,结果是一个空列表。我直接在glob命令里输入了一个文件根目录,它好像能工作,但结果却不是我想要的。

希望你们能帮我。谢谢。

import os, glob
def fileDirectory():
    #Asks the user for a file root directory
    fileroot = raw_input("Please input the file root directory \n\n")

#返回文件根目录下所有文件的列表 filelist = glob.glob(fileroot) print filelist

fileDirectory()

1 个回答

2

Python对空格很敏感,所以你需要确保在函数内部的所有内容都有正确的缩进。

Stackoverflow对代码的缩进有自己的要求,这让你很难确定你的代码最初的缩进是什么样的。

import os, glob
def fileDirectory():
    #Asks the user for a file root directory
    fileroot = raw_input("Please input the file root directory \n\n")

    #Returns a list with all the files inside the file root directory
    filelist = glob.glob(fileroot)
    print filelist
fileDirectory()

接下来,glob返回的是一个匹配结果,而不是列出一个目录,这可能是你想要做的事情。

你可能需要用到os.listdir或者os.walk,或者你其实应该请求一个匹配表达式,而不是直接请求一个目录。

最后,raw_input可能会给你一些多余的空格,你需要把这些空格去掉。检查一下fileroot的内容。

你可能想把你的程序拆分开,这样你就可以单独检查每个函数。

撰写回答