Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python搜索jpeg文件_Python_Search_File - Fatal编程技术网

使用python搜索jpeg文件

使用python搜索jpeg文件,python,search,file,Python,Search,File,我的要求是使用python脚本在目录中搜索jpeg图像文件,并列出文件名。有人能帮我识别jpeg图像文件吗 提前感谢…使用magic模块获取MIME类型,并查找image/jpeg使用magic模块获取MIME类型,并查找image/jpeg如果需要非递归地搜索单个文件夹,只需执行以下操作即可 import os path=os.path.join("/home","mypath","to_search") for r,d,f in os.walk(path): for files i

我的要求是使用python脚本在目录中搜索jpeg图像文件,并列出文件名。有人能帮我识别jpeg图像文件吗


提前感谢…

使用
magic
模块获取MIME类型,并查找
image/jpeg
使用
magic
模块获取MIME类型,并查找
image/jpeg
如果需要非递归地搜索单个文件夹,只需执行以下操作即可

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)
>>> import glob
>>> glob.glob("D:\\bluetooth\*.jpg")
['D:\\bluetooth\\Image1475.jpg',  'D:\\bluetooth\\Image1514.jpg']
阅读更多关于这里的信息,您可以使用类似unix的通配符搜索,例如

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']

如果需要以非递归方式搜索单个文件夹,只需执行以下操作即可

>>> import glob
>>> glob.glob("D:\\bluetooth\*.jpg")
['D:\\bluetooth\\Image1475.jpg',  'D:\\bluetooth\\Image1514.jpg']
阅读更多关于这里的信息,您可以使用类似unix的通配符搜索,例如

>>> import glob
>>> glob.glob('./[0-9].*')
['./1.gif', './2.txt']
>>> glob.glob('*.gif')
['1.gif', 'card.gif']
>>> glob.glob('?.gif')
['1.gif']

如果要扫描子文件夹,请执行以下操作:

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)

应该可以。如果要扫描子文件夹,请执行以下操作:

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)

应该可以工作。

如果要根据文件内容确定图像格式,可以使用:


如果要按文件内容确定图像格式,可以使用:


“标识”是指扩展名为“.jpg”和“.jpeg”的文件,还是指实际查看文件内容并检查其是否为有效的jpeg图像?不,我只想使用文件扩展名进行搜索。“标识”是指扩展名为“.jpg”和“.jpeg”的文件,或者你的意思是实际查看文件内容并检查它是否是有效的JPEG图像?不,我只想使用文件扩展名进行搜索。我发现
str.endswith()
更易于阅读@NIMS:考虑验证这个答案,或者至少对它进行投票。我建议,如果代码为OS.PATH.SPLITEXT(文件)[1 ]在(‘jpg’,‘jpeg’)中:< /代码>,否则将处理一个名为“代码> iMnTajppeg < /代码>的文件。我发现<代码> STR.EdthsWORE()/<代码>更容易阅读。NIMS:考虑验证这个答案,或者至少对它进行投票。我建议,如果代码为OS.PATIO.SPLITEXT(文件)[1 ]在(‘jpg’,‘jpeg’)中:< /代码>,否则将处理一个名为“代码> IMNOTAJPEG/CODE >的文件。<代码> SPLITEXT/<代码>以一个点返回扩展名,因此您希望在<(j.pg,'jpeg)< <代码> <代码>。是的,您是对的。我已经更新了它,谢谢你纠正我:-),但是我不想在子目录中找到文件。好的,我已经更新了答案,只包括扫描单个文件夹。第一次迭代时root,subdirs的值是多少?subdirs的用法在哪里?
splitext
返回带点的扩展名,因此您需要
输入('.jpg','.jpeg')
。是的,您是对的。我已经更新了它,谢谢你纠正我:-),但是我不想在子目录中找到文件。好的,我已经更新了答案,只包括扫描单个文件夹。第一次迭代时root,subdirs的值是多少?细分曲面在哪里使用?