对于要读取多个文件中的内容进行拼接等操作时,一般需要将对应的文件路径保存在当前程序。

从一个路径得到当前路径下的所有东西的方法为os.listdir(path),它会返回path下的所有文件名和目录名,保存在一个列表内,包括隐藏目录&文件。

比如,我想显示Coding_Question3_Data下的所有目录和文件。

#### 遍历指定目录,显示目录下的文件名

def eachFile(filepath):
pathDir = os.listdir(filepath)
print('pathDir:', pathDir)
for allDir in pathDir:
child = os.path.join(filepath, allDir)
print(child)
eachFile('./Coding_Question3_Data')

返回结果如下。

那如果我想分别将文件路径和目录路径放在两个分开的列表内呢?做一个简单的过滤即可。

#### 遍历指定目录,显示目录下的目录和文件名(分开显示)

def printPath(path):
dirList = []
fileList = []
dirFiles = os.listdir(path)
for dirFile in dirFiles:
curPath = path + '/' + dirFile
if os.path.isdir(curPath):
# 排除隐藏文件
if dirFile[0] != '.':
dirList.append(curPath)
elif os.path.isfile(curPath):
if dirFile[0] != '.':
fileList.append(curPath)
print('dirlist里有啥?')
for dir_ in dirList:
print('\t', dir_)
print('filelist里有啥?')
for file_ in fileList:
print('\t', file_)
对于下面这样的文件目录结构,看下效果。
printPath('./Coding_Question3_Data/News_Source/News_0')

得到