みなさん、こんにちは。
今回は今までの復習で、フォルダ内のファイルを表示する方法を紹介します
フォルダ内のファイルを表示
上記のフォルダ内にあるファイルをリストアップする方法を紹介します。
すべてのフォルダとファイルを表示
上記のフォルダにはフォルダ3つと画像ファイルが3つあります。まずは、すべてを表示するプログラムを紹介します。
import os
filefolder = 'C:/Labo/newfolder/'
filelist = os.listdir(filefolder)
print(filelist)
ライブラリ「os」を使用します。
os.listdirでフォルダ内にあるフォルダ、ファイルを読み込みます。
printで出力すると、すべてのファイルとフォルダが出力されます。
['flowerA.jpg', 'flowerB.jpg', 'flowerC.jpg', '新しいフォルダA', '新しいフォルダB', '新しいフォルダC']
ファイル名のみをする
次に、ファイル名のみを出力するようにします。
import os
filefolder = 'C:/Labo/newfolder/'
filelist = os.listdir(filefolder)
files = [file for file in filelist if os.path.isfile(filefolder + file) == True]
print(files)
ファイル名のみを抜き出す為に、os.path.isfileという関数を使います。
os.path.isfile(ファイル名)を実行し、ファイルが存在すれば True、ファイルが存在しなければ False を戻します。
filefolder + file としているは、os.path.isfileでは絶対パスでファイル名を指定する必要があるからです。
for・if文はPYTHONならではのループと条件式を組み合わせたものです。1行にまとめることが出来るので、非常に便利です。
そして出力すると、ファイルだけが出力されます。
['flowerA.jpg', 'flowerB.jpg', 'flowerC.jpg']
各ファイルへのアクセス
上記の場合、ファイル数は3つです。それぞれのファイルにアクセスには、リスト表記でアクセスします。リストはゼロから始まるので注意して下さい。
print(files[0])
print(files[1])
print(files[2])
そうすると下のように出力されます。
flowerA.jpg
flowerB.jpg
flowerC.jpg
まとめ
いかだったでしょうか。
復習編ということで、内容的には簡単だったと思いますが、ファイルの一括操作では必ず使うコードになりますので、改めて確認しておいてくださいね。
「役に立った!」と思れましたら、下のSNSボタンで記事のシェアをしていただけると嬉しいです!
コメント