作为参数传递URL
每次我尝试运行下面的脚本时,都会得到以下结果。代码哪里出问题了呢?
1.python test.py
没有打印出使用说明。
2.python test.py http://link.com/index.php?title=tesst&action=raw
打印出:
"'action' 不是内部或外部命令,也不是可运行的程序或批处理文件."
我的脚本是:
# Version YYYYMMDD
version = "20121112"
# File type to be output to logs
# Should be changed to exe before building the exe.
fileType = "py"
# Import sys to read command line arguments
import sys, getopt
#import pdb
#pdb.set_trace()
import argparse
def update (url):
req = urllib2.Request(url=url)
try:
f = urllib2.urlopen(req)
txt = f.read()
f.close()
except urllib2.HTTPError, e:
txt = ''
print 'An error occured connecting to the wiki. No wiki page will be generated.'
return '<font color=\"red\">QWiki</font>'
# Find the start tag of the textarea with Regular Expressions
p = re.compile('<textarea[^>]*>')
m = p.search(txt)
(tagStart, tagEnd) = m.span()
# Find the end of the textarea
endTag = txt.index("</textarea>")
def main ():
#For logging
print "test"
parser = argparse.ArgumentParser(description='This is the update.py script created by test')
parser.add_argument('-u','--ur',action='store',dest='url',default=None,help='<Required> url link',required=True)
results = parser.parse_args()# collect cmd line args
url = results.url
print url
update(url)
1 个回答
10
把网址用引号括起来:
python test.py "http://link.com/index.php?title=tesst&action=raw"
这里的 &
会让命令提示符搞混。