Escape консольная строка, содержащая путь с "\ r" (python) - PullRequest
0 голосов
/ 08 марта 2019

Мне нужно отправить следующие команды на устройство busybox через последовательный порт:

SBC1000 > setenv serverip '192.168.128.100'
SBC1000 > setenv fsfile '1k\root.jffs2-128k'
SBC1000 > saveenv

Я могу без проблем выйти из одинарных кавычек первой строки, используя обратную косую черту:

cmd = 'setenv serverip \'192.168.128.100\''

Я пробовал различные комбинации обратной косой черты для второй строки, но не смог заставить часть 1k \ root правильно выйти.Я считаю, что это интерпретируется как возвращение.Я попытался двойного и тройного побега безуспешно.

Я наконец наткнулся на использование

cmd = 'setenv fsfile \'1k\\\u0072oot.jffs2-128k\''

для включения \ r (не возврата) для моей строки.

Есть ли более читаемый способ включить этот шаблон \ r (не возвращаемый) в мою строку?

1 Ответ

0 голосов
/ 19 марта 2019

Решением было использование двойных кавычек "", как это было предложено Джоном Шакмайстером.

Я обнаружил, что командная строка передается функции внутри закрытого класса на основе pexpect-serial .

Я предполагаю, что моя строка была оценена pexpect жадным способом.С помощью четкого разделителя проблема была преодолена.

...