如何找出一个字符串是路径还是url?

How to find out whether a string is a path or an url?

我正在使用 PyQt5 开发播客应用程序。用户可以输入 url 或 RSS 文件的路径来添加新的 podacst。我需要能够区分 url 和路径,因为您不能像读取某些网络服务器上的文件那样读取本地文件。此外,我需要知道它是路径还是 URL 因为我想向用户显示文件在路径时没有找到。如果我只是尝试将路径作为文件打开,并在找不到文件时将其作为 URL 尝试,我会告诉用户找不到 url,以为他想打开他 PC 上不存在的文件。如何使用 Python 的标准库和可选的 PyQt5 来确定字符串是路径还是 url?

注意:我添加了 PyQt5 标签,因为我会接受使用 PyQt5 的 QUrlQFile 等的解决方案,呃,对我来说很好。

PyQt5 它仍然是 python 代码,我不认为这是 PyQt5 的问题 solve.You 可以通过 python 轻松实现这一点:

  • 使用正则表达式检查 url 中是否有 http 或 https 或其他内容。
  • 或使用 os 或 urlopen 或其他库 ping 站点。

可能还有其他方法 too.Basic 例如 urllib:

>>> from urllib.parse import urlparse
>>> urlparse('a pc path')
ParseResult(scheme='', netloc='', path='a pc path', params='', query='', fragment='')
>>> urlparse('http://google.com')
ParseResult(scheme='http', netloc='google.com', path='', params='', query='', fragment='')