2024-05-16 22:47:12 发布
网友
我有一根绳子。在
我想要:
如果这个字符串是一个URL,我想打开这个URL。
否则,我想用这个名称打开一个本地文件。
如果没有这样的对象,则引发异常。
在python3中,正确的和足够简单(如果可能)的方法是什么?在
主要问题是确定字符串是否为URL的正确方法。在
这还没有经过测试,所以把它当作psuedocode来处理。在
if s.startswith('http'): # Do something elif os.path.isfile(s): file = open(s, 'r') else: raise Exception
取决于你所说的URL是什么意思。如果是一个网址,它通常以http://或{}开头(通常,这些都是您关心的情况)。但是,也有可能是以ftp://或其他协议开头的。然而,大多数库都接受URIs,其中包括文件URI。在该方案中,文件位置看起来像一个以file://开头的URL,因此您可以传递字符串,而不关心它是web地址还是文件,库会处理它。没有直接的方法知道地址是否有效,但是如果地址无效,库将抛出一个异常。在
http://
ftp://
file://
试试这个:
import os import webbrowser import requests webbrowser.open(s) if os.path.isfile(s) or requests.get(s) else exec("raise Exception")
这还没有经过测试,所以把它当作psuedocode来处理。在
取决于你所说的URL是什么意思。如果是一个网址,它通常以}开头(通常,这些都是您关心的情况)。但是,也有可能是以
http://
或{ftp://
或其他协议开头的。然而,大多数库都接受URIs,其中包括文件URI。在该方案中,文件位置看起来像一个以file://
开头的URL,因此您可以传递字符串,而不关心它是web地址还是文件,库会处理它。没有直接的方法知道地址是否有效,但是如果地址无效,库将抛出一个异常。在试试这个:
相关问题 更多 >
编程相关推荐