2

/image/次のファイルを 含むフォルダーがあります。1.jpg, 2.jpg, 5.jpg

そしてリスト:

img = [1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg]

3.jpgリストとディレクトリの内容を比較して、4.jpgファイルが欠落していることを確認するにはどうすればよいですか?

オンラインで検索しましたが、見つかった唯一の解決策は、リストとリスト、またはディレクトリとディレクトリを比較する方法を示しています。

4

3 に答える 3

3

ディレクトリ内のファイルを検索するには、次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]
于 2013-03-04T06:33:25.340 に答える
2
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
于 2013-03-04T06:29:04.817 に答える
1

これはどうですか 。

最初にファイルからすべてのファイル拡張子を取得する

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]
于 2013-03-04T06:31:49.123 に答える