这是我在stackoverflow上发布的第一个问题,如果我做的超出正常范围,请原谅。
我正在尝试创建一个python程序,该程序将遍历用户选择的目录以显示所选文件夹的所有文件内容。例如:Documents文件夹有几个文件夹,其中包含文件,我试图将Documents文件夹中的所有文件保存到一个数组。
下面的方法是我用来遍历目录的方法(希望这是一个简单的问题)
def saveFilesToArray(dir):
allFiles = []
os.chdir(dir)
for file in glob.glob("*"):
print(file)
if (os.path.isfile(file)):
allFiles.append(file)
elif(os.path.isdir(file)):
print(dir + "/" + file + " is a directory")
allFiles.append(saveFilesToArray(dir + "/" + file))
return allFiles
这将只给您文件:
import os
def list_files(root):
all_files = []
for root, dirs, files in os.walk(root, followlinks=True):
for file in files:
full_path = os.path.join(root, file)
all_files.append(full_path)
return all_files
我希望这会有所帮助:
import os
def saveFilesToList(theDir):
allFiles = []
for root, dirs, files in os.walk(theDir):
for name in files:
npath = os.path.join(root,name)
if os.path.isfile(npath):
allFiles.append(npath)
return allFiles
遍历所有目录,并将文件路径(不是目录)存储在列表中。使用它似乎比使用glob容易得多。