Python中的os.walk返回一个空列表
我正在尝试使用os.walk从目录中返回 .xlsx 文件列表,但它返回一个空列表。
import os
import pathlib
working_directory = 'N:/files path'
def find_filenames(path, suffix):
# First save all filenames in a list: file_list:
file_list = []
# Gets a list of all validation xlsx files in the folder:
for subdir, dirs, files in os.walk(path):
for file in files:
if file.endswith(suffix):
# save filesnames in file_list:
file_list.append(file)
return file_list
print(find_filenames(pathlib.Path(working_directory), '.xlsx')
它正在打印这个:
[]
什么时候应该是这样的:
我错过了什么或做错了什么?谢谢!
回答
应该是:
import os
import pathlib
working_directory = 'N:/files path'
def find_filenames(path, suffix):
# First save all filenames in a list: file_list:
file_list = []
# Gets a list of all validation xlsx files in the folder:
for subdir, dirs, files in os.walk(path):
for file in files:
if file.endswith(suffix):
# save filesnames in file_list:
file_list.append(file)
return file_list
问题是你把它放return错了地方。如果你把代码放在你的问题中,如果第一个文件不是以 结尾.xlsx,它会直接返回[]!
- Ah, corrected OP's indentation