如何在python中查找文件名

如何在python中查找文件名,python,python-3.x,python-2.7,Python,Python 3.x,Python 2.7,我有个问题。我有点糊涂了。我有图像和视频的URL。我想从该链接获取名称,检查它是图像还是视频,并对其执行操作。像 if filename.endwith(.jpg or .png): print("it's an image") else filename.endwith(.mp4, .avi): print("it's a video) 文件名是一个列表。其中存储了所有数据: ls = ["C:/Users/OB/Desktop/DevoMech Project

我有个问题。我有点糊涂了。我有图像和视频的URL。我想从该链接获取名称,检查它是图像还是视频,并对其执行操作。像

if filename.endwith(.jpg or .png):
   print("it's an image")
else filename.endwith(.mp4, .avi):
   print("it's a video) 
文件名是一个列表。其中存储了所有数据:

        ls = ["C:/Users/OB/Desktop/DevoMech Project/6.JPG" , "C:/Users/OB/Desktop/DevoMech Project/7.JPG"]

    if ls.endwith(.JPG or .JPEG):

        item1 = QtWidgets.QListWidgetItem(QIcon(ls), "item1")
        self.dlistWidget.addItem(item1)
        #item2 = QtWidgets.QListWidgetItem(QIcon("C:/Users/OB/Desktop/DevoMech Project/7.JPEG"), "item2")
        self.dlistWidget.addItem(item2)
显示的是实际名称,而不是项目1

如果filename.lower().endswith((“.png”、“.jpg”、“.jpeg”):
打印(“这是一个图像”)
elif filename.lower().endswith(('.mp4','.avi')):
打印(“这是一个视频”)

您可以使用字符串内置拆分方法。 例如:-


如果可能的话,我总是倾向于使用os内置的路径,并捕获不支持的类型

导入操作系统
视频_类型=(“.mp4”、“.avi”、“.jpeg”)
图像类型=('.png','.jpg')
文件名=[“/test/1.jpg”、“/test/2.avi”、“/test/unknown.xml”、“/test/noextention”]
对于文件名中的文件名:
打印(文件名)
如果视频类型中的os.path.splitext(文件名)[1]:
打印(“它是一个视频”)
图像类型中的elif os.path.splitext(文件名)[1]:
打印(“它是图像”)
其他:
打印(“不知道”)
它适用于任何类型的url

www.example.com/image.jpg
https://www.example.com/page.html?foo=1&bar=2#fragment
https://www.example.com/resource

你能分享几个链接吗?这段代码甚至不编译。您有各种语法问题什么是
文件名
类型?请提供错误消息和示例输入文件名Hi bro,我想将所有图像名称存储在列表中。filename是一个图像列表。对于您的示例输入,它可以工作,但如果文件没有扩展名,您将返回文件名。您希望文件类型为空。如果视频类型中的os.path.splittext(ls)[1]为AttributeError:module'ntpath'没有属性'splittext',则bro给出了一个错误。它是
splittext
,而不是
splittext
。单t。对于“拆分扩展名”,还有一件事是显示图像名称,而不是像打印一样的图像(它是图像)。像打印(“它是”+图像名称的图像”)Bro错误回溯(最近一次调用):文件“C:/Users/OB/Desktop/DevoMech Project/url\u test.py”,第1行,在从URLPRASE导入URLPRASE MODULENOTFOUND中出错:没有名为“URLPRASE”的模块
/test/1.jpg

Its an Image

/test/2.avi

Its a Video

/test/unknown.xml

No Idea

/test/noextention

No Idea
from urlparse import urlparse
from os.path import splitext

url = "sample/test/image.png"


image_formats = [".png", ".jpeg"]
video_formats = [".mp4", ".mp3", ".avi"]

def get_ext(url):
    """Return the filename extension from url, or ''."""
    parsed = urlparse(url)
    root, ext = splitext(parsed.path)
    return ext  


if get_ext(url) in image_formats:
   print("it's an image")
elif get_ext(url) in video_formats:
    print("it's a video")
else:
    print("some differnet format")
www.example.com/image.jpg
https://www.example.com/page.html?foo=1&bar=2#fragment
https://www.example.com/resource