python - 在 Python 3 中打开 URL 或本地文件
问题描述
我有一个字符串。
我想:
如果这个字符串是一个 URL,我想打开这个 URL。
否则,我想用这个名字打开一个本地文件。
如果没有这样的对象,则引发异常。
在 Python 3中正确且足够简单(如果可能)的方法是什么?
主要问题是确定字符串是否为 URL 的正确方法。
解决方案
取决于你所说的 URL 是什么意思。如果它是一个网址,它通常以http://
or开头https://
(通常,这些是您关心的情况,无论如何)。但是,也有可能以ftp://
其他协议或其他协议开头。但是,大多数库都接受URI,其中包括文件 URI。在该方案中,文件位置看起来像以 开头的 URL file://
,因此您可以传递您的字符串,而不关心它是 Web 地址还是文件,库会处理它。没有直接的方法可以知道地址是否有效,但如果不是,库会抛出异常。
推荐阅读
- f# - 有没有办法在 F# 中识别 CLR 事件实例?
- javascript - 使用 Carrierwave 发布 gif 时,AJAX 无法验证 CSRF 令牌的真实性
- c - 在 txt 文件中搜索关键字并用 C 记录它
- javascript - 如何返回 Unirest 的函数值并使用 Express 发送?
- react-admin - 如何在 react-admin 中动态地将资源链接到后端 api url
- c++ - 使用静态 int 在函数中返回 int&
- javascript - 如何在 Phaser 3 中将精灵存储在数组中?
- python - Python3.6 和 Pyautogui - 像素命令 - TypeError: __new__() 采用 4 个位置参数,但给出了 5 个
- java - 主线程中的异常 - 不确定我做错了什么?
- python - 无法将 django 对象传递给 Angular 前端