/image/
次のファイルを
含むフォルダーがあります。1.jpg, 2.jpg, 5.jpg
そしてリスト:
img = [1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg]
3.jpg
リストとディレクトリの内容を比較して、4.jpg
ファイルが欠落していることを確認するにはどうすればよいですか?
オンラインで検索しましたが、見つかった唯一の解決策は、リストとリスト、またはディレクトリとディレクトリを比較する方法を示しています。
/image/
次のファイルを
含むフォルダーがあります。1.jpg, 2.jpg, 5.jpg
そしてリスト:
img = [1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg]
3.jpg
リストとディレクトリの内容を比較して、4.jpg
ファイルが欠落していることを確認するにはどうすればよいですか?
オンラインで検索しましたが、見つかった唯一の解決策は、リストとリスト、またはディレクトリとディレクトリを比較する方法を示しています。
ディレクトリ内のファイルを検索するには、次glob
のようにを使用できます。
import glob
dir_to_search = '/some/path/to/images/'
files_in_dir = glob.glob("{}{}".format(dir_to_search,'*.jpg'))
list_of_files = ['1.jpg','2.jpg','3.jpg']
missing_files = [x for x in list_of_files if x not in files_in_dir]
import os
path= r"C:\yourdirectory"
fileList = os.listdir(path)
img = [...]
missing = [name for name in img if name not in fileList]
順序が重要でない場合は、代わりにセットを使用できます
import os
path= r"C:\yourdirectory"
fileSet = set(os.listdir(path))
img = [...]
missing = set(img)-fileSet
これはどうですか 。
最初にファイルからすべてのファイル拡張子を取得する
import os
createlist = []
for r,d,f in os.walk("/images"):
for files in f:
if files.endswith(".jpg"):
createlist.append[files]
そして、両方のリストを比較します。
print [(i,j) for i,j in zip(img,createlist) if i!=j]