Python
当命令行应用程序采用一个参数
网页的网址
或
磁盘上某处HTML文件的路径
(只有一个)
代码是否足够?
if "http://" in sys.argv[1]:
print "URL"
else:
print "path to file"
答案 0 :(得分:15)
import urlparse
def is_url(url):
return urlparse.urlparse(url).scheme != ""
is_url(sys.argv[1])
答案 1 :(得分:4)
取决于该计划必须做什么。如果只打印它是否有URL,sys.argv[1].startswith('http://')
可能会这样做。如果您必须将URL实际用于有用的内容,请执行
from urllib2 import urlopen
try:
f = urlopen(sys.argv[1])
except ValueError: # invalid URL
f = open(sys.argv[1])
答案 2 :(得分:1)
Larsmans可能会工作,但它不会检查用户是否实际指定了参数。
import urllib
import sys
try:
arg = sys.argv[1]
except IndexError:
print "Usage: "+sys.argv[0]+" file/URL"
sys.exit(1)
try:
site = urllib.urlopen(arg)
except ValueError:
file = open(arg)