参数是URL或路径

17 投票
3 回答
13841 浏览
提问于 2025-04-17 04:45

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])

撰写回答