2013-03-02 2 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

Оберните URL в кавычки:

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

& путает Командная строка.

+0

@blendar - если я не передаю какой-либо аргумент..почему это не печатает использование? – user2125827

+0

также печатает URL как «print url», он просто ничего не печатает – user2125827