1

.jpg または .pdf で終わるファイル名のみが必要です。ファイル名の検索を制限するにはどうすればよいですか?

import os
from subprocess import call

for dirname, dirnames, filenames in os.walk('.'):
    for filename in filenames:
        jpg = os.path.join(dirname, filename)
        call(["./curl_recognize.sh", jpg, jpg+".txt", "-f txt"])
4

3 に答える 3

5
import fnmatch
import os

for file in os.listdir('.'):
    if fnmatch.fnmatch(file, '*.txt'):
        print file

fnmatch は、ワイルドカードのような UNIX を想定しているため、他の方法よりも優れています。

*= すべてに一致

?= 任意の 1 文字に一致

[seq]= は、seq 内の任意の文字に一致します

[!seq]= は、seq にない任意の文字に一致します

于 2012-12-14T04:48:38.607 に答える
4

どうですか:

for filename in filenames:
  if not filename.endswith('.jpg'):
    continue
于 2012-12-14T04:01:57.457 に答える
0

最後にすべてのファイルのリストが必要な場合は、次のようにすることができます

filelist = []
for root, dirs, files in os.walk('.'):
    filelist = filelist + [os.path.join(x,root) for x in files if x.endswith(('.jpg','.pdf'))]   
于 2012-12-14T04:20:44.747 に答える