使用glob()获取自定义目录中的文件列表
我正在尝试写一个程序,让用户可以输入自己想要的文件目录,然后重命名文件。现在我才刚开始做这个程序。这是我第一次使用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的内容。
你可能想把你的程序拆分开,这样你就可以单独检查每个函数。