这里是Python新手。我有以下清单:
['G1X1.000Y-3.000', 'G2X-1.000Y-3.000I-1.000J-2.291', 'G1X-1.000Y0.000', 'F0']
我想用ASCII null“\0”填充每个字符串列表项,以使每个字符串长度为32个字符或字节(我有一个嵌入式应用程序运行在微控制器上,通过串行通信接收32字节长的字符串)
我尝试了以下想法,认为它会起作用,但当我再次打印列表时,似乎没有任何变化
#Format each command to a 32 character long string
for i in fileContents:
length = len(i)
print(length)
spacesToAdd = (32 - length)
i += ''*spacesToAdd
print(fileContents)
我希望在第一个列表项中看到类似的内容:
['G1X1.000Y-3.000\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0',]
但是,print语句未显示任何更改:
['G1X1.000Y-3.000', 'G2X-1.000Y-3.000I-1.000J-2.291', 'G1X-1.000Y0.000', 'F0']
使用
ljust
方法在代码中,
i
只是对字符串的引用,而不是对“slot”的引用,因此您不会修改列表。您需要将新的str
对象直接分配给列表槽相关问题 更多 >
编程相关推荐