传递一个url作为参数

时间:2013-03-02 03:59:59

标签: python command-line-arguments

每当我尝试运行如下脚本时,我都会得到以下结果。代码有什么问题?

1。python test.py

不打印用法。

2。python test.py http://link.com/index.php?title=tesst&action=raw

打印:  "'action' is not recognized as an internal or external command, operable program or batch file."

我的剧本:

# 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 个答案:

答案 0 :(得分:5)

将网址用引号括起来:

python test.py "http://link.com/index.php?title=tesst&action=raw"

&令人困惑的命令提示符。