だから、これが私の小さなプログラムです。特定のディレクトリ内のすべてのファイルとすべてのサブディレクトリ内のすべてのファイルを出力する必要があります。
import os
def listFiles(directory):
dirList = os.listdir(directory)
printList = []
for i in dirList:
i = os.path.join(directory,i)
# print(i)
if os.path.isdir(i):
printList[len(dirList):] = listFiles(i)
else:
printList.append(i)
return printList
directory = 'C:\Python32\Lib'
listFiles(directory)
a = listFiles(directory)
for i in a:
print(i)
問題は何ですか:os.path.isdir(i)が正しく機能していません-たとえば、私が試した場合
os.path.isfile('C:\Python32\Lib\concurrent\futures\process.py')
os.path.exists('C:\Python32\Lib\concurrent\futures\process.py')
os.path.isdir('C:\Python32\Lib\concurrent\futures')
私は常にTrueではなくFalseを取得します(一部のサブディレクトリでは問題なく機能します)。print(i)のコメントを外すと、すべてが正常に印刷されますが、ディレクトリも印刷されます。ファイルだけを印刷したいのです。私は何をすべきか?