0
kvs = {k:v.strip("'") for k,v in re.findall(r"\('(\S+)', ('.*?')\)", line)}

Traceback (most recent call last):
  File "./scanl2logs.py", line 24, in <module>
    from l2historybuffer import L2HistoryBuffer
  File "/opt/jiaping_python_syslog/ScanSwitchesLogFiles-master/l2historybuffer.py", line 69
    kvs = {k:v.strip("'") for k,v in re.findall(r"\('(\S+)', ('.*?')\)", line)}
                            ^
SyntaxError: invalid syntax
4

1 に答える 1

2

Python 2.7 より前のバージョンの Python を使用している可能性があります。辞書内包表記は 2.7 まで追加されませんでした。

次のようなことをする必要があります:

dict((k,v.strip(' ')) for k,v in re.findall(r'\('(\S+)', ('.*?')\)' , line))

または、Python のバージョンをアップグレードしてください :)。

于 2013-08-19T08:13:10.457 に答える