Python
コマンドライン アプリケーションで引数を 1 つ取る場合の標準的な方法は何ですか。
Web ページへの URL
また
ディスク上のどこかにある HTML ファイルへのパス
(唯一)
コードは十分ですか?
if "http://" in sys.argv[1]:
print "URL"
else:
print "path to file"
import urlparse
def is_url(url):
return urlparse.urlparse(url).scheme != ""
is_url(sys.argv[1])
プログラムが何をしなければならないかによって異なります。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])
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)