我试图将查询的文本输出带到SSD(拉动日志页面,类似于拉动SMART数据。然后我尝试从日志文件中写出此文本数据I定期更新。
当某些驱动器的日志数据具有双引号作为空白字段的占位符时,会出现问题。以下是输入的片段:
VER 0x10200
VID 0x15b7
BoardRev 0x0
BootLoadRev""
当这个被写出(附加)到我自己的日志文件中时,文本会被多个空字符替换,然后当我尝试打开所有文本编辑时告诉我它已损坏。
""我的Linux系统上的字符被这样的东西取代:
BootLoadRev" \ 00 \ 00 \ 00 \ 00"
\ 00字符的某些字段甚至更长。如果""事情没有,事情写得没问题。
代码与此类似:
f=open(fileName, 'w')
test_bench.send_command('get_log_page')
identify_data = test_bench.get_data_in()
f.write(identify_data)
f.close()
有没有办法将这个文本发送到没有这些空值的文件导致问题?
答案 0 :(得分:1)
假设这是Python 2(并且您的内容因此是Python 3将其称为字节串),并且您的预期数据格式是原始ASCII,那么简单的解决方案就是在您编写之前从内容中删除NUL到磁盘:
f.write(identify_data.replace('\0', ''))