参数是URL或路径
在Python
中,当我有一个命令行应用程序,只需要一个参数时,通常的做法是什么呢?这个参数可以是:
一个网页的URL
或者
一个存储在磁盘上的HTML文件的路径
(只需要一个参数)
这样写代码就够了吗?
if "http://" in sys.argv[1]:
print "URL"
else:
print "path to file"
3 个回答
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)
24
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会做出反应。
比如说,你可以设定一个条件:如果温度超过30度,就显示“天气很热”。这样,程序就会根据温度的变化来决定显示什么信息。
这些条件通常用“如果...那么...”的结构来表示。在编程中,这种结构被称为“条件语句”。它帮助程序根据不同的情况做出不同的决策。
希望这个解释能让你更好地理解条件语句的概念!
import urlparse
def is_url(url):
return urlparse.urlparse(url).scheme != ""
is_url(sys.argv[1])
3
这要看程序需要做什么。如果只是想打印出它是否得到了一个网址,sys.argv[1].startswith('http://')
这个方法就可以了。如果你需要用这个网址做一些有用的事情,那就要这样做:
from urllib2 import urlopen
try:
f = urlopen(sys.argv[1])
except ValueError: # invalid URL
f = open(sys.argv[1])