特定のディレクトリを探して、元の場所にあるすべてのフォルダに加えて、選択した種類のすべてのファイルを一覧表示するスクリプトを作成しようとしています。特定のファイルタイプとディレクトリのファイルを一覧表示する
私は、選択したタイプのすべてのファイルをリストする最初の部分を管理しましたが、フォルダのリストに問題が発生しています。
私が持っているコードは次のとおりです。
import datetime, os
now = datetime.datetime.now()
myFolder = 'F:\\'
textFile = 'myTextFile.txt'
outToFile = open(textFile, mode='w', encoding='utf-8')
filmDir = os.listdir(path=myFolder)
for file in filmDir:
if file.endswith(('avi','mp4','mkv','pdf')):
outToFile.write(os.path.splitext(file)[0] + '\n')
if os.path.isdir(file):
outToFile.write(os.path.splitext(file)[0] + '\n')
outToFile.close()
それは成功したが、これまでの私のF内に複数のフォルダがあるにもかかわらずif os.path.isdir(file):
に入っていない、すべてのAVI/MP4/MKV/pdfファイルを一覧表示されます。ディレクトリ。
ご協力いただければ幸いです。たとえそれが仕事を完全に行うより効果的で効率的な方法を提案しているとしても。
ソリューションは
ファイルにファイルの名前ではなく、完全修飾パスを返しos.listdir
if os.path.isdir(os.path.join(myFolder, file)):
あなたはfile' 'の値が何であるか(print''となど)をチェックしましたか?それは完全修飾ですか?相対パス?ファイル名だけ? –