使用“ \ r”(Python)转义包含路径的控制台字符串

时间:2019-03-08 18:57:07

标签: python escaping python-unicode

我需要通过串行端口将以下命令发送到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(而不是return)。

在我的字符串中是否包含一种更易读的方式来包含\ r(而不是return)模式?

1 个答案:

答案 0 :(得分:-1)

解决方案是使用John Szakmeister建议的双引号“”。

我发现命令字符串被传递给基于pexpect-serial的私有类中的函数。

我的猜测是我的字符串被pexpect以贪婪的方式评估。通过使用独特的定界符,可以解决该问题。