我的要求是使用python脚本在目录中搜索jpeg图像文件并列出文件名。任何人都可以帮我识别jpeg图像文件。
提前致谢...
答案 0 :(得分:9)
如果您需要非递归地搜索单个文件夹,则只需执行
即可>>> import glob
>>> glob.glob("D:\\bluetooth\*.jpg")
['D:\\bluetooth\\Image1475.jpg', 'D:\\bluetooth\\Image1514.jpg']
在此处阅读有关glob的更多信息,您可以像使用通配符搜索一样执行unix。
>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']
答案 1 :(得分:6)
如果要扫描子文件夹:
import os
for root, subdirs, files in os.walk(DIRECTORY):
for file in files:
if os.path.splitext(file)[1].lower() in ('.jpg', '.jpeg'):
print os.path.join(root, file)
否则,使用其他答案中的其他glob函数之一,或者:
import os
for f in os.listdir(DIRECTORY):
if os.path.splitext(f)[1].lower() in ('.jpg', '.jpeg'):
print os.path.join(DIRECTORY, f)
应该可以正常工作。
答案 2 :(得分:2)
使用magic
模块获取MIME类型,并查找image/jpeg
。
答案 3 :(得分:1)
import os
path=os.path.join("/home","mypath","to_search")
for r,d,f in os.walk(path):
for files in f:
if files[-3:].lower()=='jpg' of files[-4:].lower() =="jpeg":
print "found: ",os.path.join(r,files)
答案 4 :(得分:1)
如果要按文件内容确定图像格式,可以使用Python Imaging Library:
import Image
try:
img = Image.open('maybe_jpeg_file')
print img.format # Will return 'JPEG' for JPEG files.
except IOError:
print "Not an image file or unreadable."