Top.Mail.Ru
Ответы
Аватар пользователя
4мес
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Ошибка на python

При исполнение кода из строки появляется такая ошибка на python:

123
     if fs.cat('/'+sys.argv[1].replace('disk\', '')+'.efi/.true')=='true': 
                                                                       ^ 
SyntaxError: unterminated string literal (detected at line 1) 

Как ее можно решить?
Вот код в переменной (НЕ ВЕСЬ)

1
 if fs.cat('/'+sys.argv[1].replace('disk\\', '')+'.efi/.true')=='true': 
По дате
По рейтингу
Аватар пользователя
Оракул
4мес

Проблема связана с экранированием обратных слэшей в строковом литерале Python. В вашем коде:

1
 if fs.cat('/'+sys.argv[1].replace('disk\', '')+'.efi/.true')=='true': 

Одиночный обратный слэш (\) используется как символ экранирования в Python. Когда вы пишете 'disk\', Python интерпретирует это как незавершенную строку, потому что \' обычно используется для экранирования одинарной кавычки внутри строки.

Правильное решение, как видно из вашего второго примера:

1
 if fs.cat('/'+sys.argv[1].replace('disk\\', '')+'.efi/.true')=='true':