Python Ошибка EOL при сканировании строкового литерала из примера сценария - PullRequest
0 голосов
/ 11 февраля 2020

Я занимаюсь изучением кода сетевого программирования с использованием примера сценария и сталкиваюсь с ошибкой при выполнении сценария. Это функция, связанная с

def calculateCost(data,rate):
        cost = 0
        if rate=='tx':
                transmitted = int(data["node-connector"][0]["opendaylight-port-statistics:flow-capable-node-connector-statistics"]["packets"]["transm$
                cost  = transmitted
        elif rate=='rx':
                received  = int(data["node-connector"][0]["opendaylight-port-statistics:flow-capable-node-connector-statistics"]["packets"]["received$
                cost  = received
        return cost

ошибка возврата ниже

 File "main.py", line 26
    transmitted = int(data["node-connector"][0]["opendaylight-port-statistics:flow-capable-node-connector-statistics"]["packets"]["transm$
                                                                                                                                         ^
SyntaxError: EOL while scanning string literal

Я заметил, что в строке отсутствуют скобки и знак quotn ... но не уверен, что это проблема ... возможно, вы, парень, можете помочь и посоветовать мне исправить это. Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 11 февраля 2020

В python строка в двойных кавычках (") не может занимать более одной строки. Для этого вам нужно использовать тройные кавычки, такие как: "" "foo bar" "". В вашем случае, в конце строки, начинающейся с transmitting, похоже, что код обрезан там, где находится знак $, поэтому отсутствует закрывающий ". Это верно и для седьмой строки.

...