回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我想将一个十六进制数字hh与\x连接起来,生成一个字符串“\xhh”,然后将其放入一个列表中并将其转换为一个长字符串。下面是我当前的代码,这会引发一个错误:</p>
<blockquote>
<p>ValueError: invalid \x escape</p>
</blockquote>
<p>我不相信这是我的错,因为我不知道该怎么做。我在想,像“\”+“x”+hh这样的东西行吗?还有没有更有效的方法?在</p>
<p>以下是导致错误时的代码:
(注意-电压、电流和校验和值不同。我只是为这个添加了示例值)</p>
<pre><code>voltValues = [30, 30, 30]
currValues = [30, 30, 30]
checksumValues = [39, 33]
v1 = "\x" + voltValues[0]
v2 = "\x" + voltValues[1]
v3 = "\x" + voltValues[2]
c1 = "\x" + currValues[0]
c2 = "\x" + currValues[1]
c3 = "\x" + currValues[2]
cs1 = "\x" + checksumValues[0]
cs2 = "\x" + checksumValues[1]
list = [ "\x01", "\x30", "\x53", v1, v2, v3, c1, c2, c3, "\x46", "\x46", "\x46", "\x30", "\x30", "\x30", "\x32", "\x46", "\x46", cs1, cs2, "\x0D" ]
return ''.join(list)
</code></pre>
<p>我希望它返回“\x01\x30\x53\x30\x30\x30\x30\x30\x30\x30\x30\x30\x46\x46\x46\x30\x30\x30\x32\x46\x46\x39\x33\x0D”。在</p>