2015-07-24 3 views
1

Итак, я новичок в python. У меня есть сценарий, который я пишу, чтобы лучше понять понятия в python. Я пытаюсь передать словарь как json на конце сценария, но он дает мне неверную синтаксическую ошибку. Странно то, что место, где говорят, что у меня ошибка, - это прямая копия более простой версии, которая работает.Python SyntaxError: недопустимый синтаксис с печатью json.dumps (результат)

Так вот скрипт:

import sys, json, argparse 

# Load the data that PHP sent us 
try: 
    parser = argparse.ArgumentParser(description='pace data') 
    parser.add_argument('--funct', '-m', required=False, default='') 
    parser.add_argument('--id', '-i', required=False, default='') 
    parser.add_argument('--email', '-p', required=False, default='') 
    parser.add_argument('--firstName', '-f', required=False, default='') 
    parser.add_argument('--lastName', '-l', required=False, default='') 
    parser.add_argument('--password', '-w', required=False, default='') 
    result = {} 
    result['PHPEmail'] = args.email 
    result['PHPID'] = args.id 
    result['PHPfirstName'] = args.firstName 
    result['PHPlastName'] = args.lastName 
    result['PHPpassword'] = args.password 
    result['status'] = 'good' 


# Send it to stdout (to PHP) 
print json.dumps(result) 

я исполняю с этой командной строки вызова:

$ python send_php4.py --id "45333323345" --email "[email protected]" --firstName "firstfoo" --lastName "lastfoo" --password "[email protected]" 

Здесь ошибка я получаю:

File "send_php4.py", line 29 
    print json.dumps(result) 
     ^
SyntaxError: invalid syntax 

Любые идеи, где я «Не так?

+2

Вы забываете 'except', вы не можете попробовать без закрытия кроме –

+0

Возможно, что линия только под' try' блока. Python не поддерживает блоки 'try' без соответствующего блока' except'. –

ответ

3

Вы забыли закрыть блок try. Используйте, например:

try: 
    ... 
except: 
    print "Something wrong" 
else: 
    print json.dumps(result) 
+0

Спасибо. Так оно и было. теперь он печатает только ошибку. Случаем, чтобы обнаружить любые другие ошибки? – kgrondell

Смежные вопросы