2013-03-02 151 views
2

每當我嘗試運行下面的腳本時,我會得到以下結果。代碼有什麼問題?將URL作爲參數傳遞

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) 

回答

5

用引號括的網址:

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

&是混淆了命令提示符。

+0

@blendar - 如果我不通過任何參數..爲什麼它不打印使用? – user2125827 2013-03-02 04:52:12

+0

也打印網址爲「打印網址」,它只是不打印任何東西 – user2125827 2013-03-02 04:59:46