files = [ f for f in listdir(path) if isfile(join(path,f)) ] 有猿帮忙解释一下吗?谢谢
import os
path=r'C:\Users\jackey\Desktop\WIP'
files1 = [ f for f in os.listdir(path)]
files2 = [ f for f in os.listdir(path) if os.path.isfile(os.path.join(path,f)) ]
print(files1)
print(files2)
['jk', 'WIP_Report_for_BLZN_20211116.xls', 'WIP_Report_for_BLZN_20211127.xls', 'WIP_Report_for_BLZN_20211128.xls', 'WIP_Report_SPIL-BOUFFALOLAB_20211127.xls', 'WIP_Report_SPIL-BOUFFALOLAB_20211128.xls']
['WIP_Report_for_BLZN_20211116.xls', 'WIP_Report_for_BLZN_20211127.xls', 'WIP_Report_for_BLZN_20211128.xls', 'WIP_Report_SPIL-BOUFFALOLAB_20211127.xls', 'WIP_Report_SPIL-BOUFFALOLAB_20211128.xls']
这样就清楚了,列表生成式,列举一个文件夹下是文件的所有文件名, if 用来滤除其他非当前文件夹文件。