Функция печати Python возвращает синтаксическую ошибку - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь использовать функцию печати для печати результатов re.match, но он возвращается как недопустимый синтаксис для печати

Версия Python 2.6.6

import re

def word_replace(text, replace_dict):
        rc = re.compile(r"[a-zA-Z]\w*")

def word_replace(text, replace_dict):
        word = re.match("(0\w+)\W(0\w+)",lower()
        print(word)
        return replace_dict.get(word, word)

        return rc.sub(translate, text)

old_text = open('1549963864952.xml').read()

replace_dict = {
"value" : 'new_value',
"value1" : 'new_value1',
"value2" : 'new_value2',
"value3" : 'new_value3'

}                                       # {"Word to find" : 'Word to replace'}

output = word_replace(old_text, replace_dict)
f = open("1549963864952.xml", 'w') # File you want to write to
f.write(output)                                    # Write to that file
print(output)                                      # Check that it wrote

Должен вернуться и напечатать результаты word = re.match("(0\w+)\W(0\w+)",lower(), но вместо этого я получаю следующую ошибку:

File "location.py", line 8
print(word)
    ^
SyntaxError: invalid syntax

Ответы [ 3 ]

0 голосов
/ 13 февраля 2019

В конце

word = re.match("(0\w+)\W(0\w+)",lower()

отсутствует скобка, она должна быть

    word = re.match("(0\w+)\W(0\w+)",lower())
0 голосов
/ 13 февраля 2019
word = re.match("(0\w+)\W(0\w+)",lower()

это неправильно, вы забыли добавить закрывающую скобку после кавычек и использовать .lower() не ,lower

, это должно быть так

word = re.match("(0\w+)\W(0\w+)").lower()
0 голосов
/ 13 февраля 2019

Измените это:

 word = re.match("(0\w+)\W(0\w+)",lower()
 print(word)

на:

 word = re.match("(0\w+)\W(0\w+)",lower())
 print word
...