我有一个保存为二进制数据的 sql 脚本。我以标准方式阅读它。
with open('data.sql', 'rb') as f:
var = f.read()
var_text = var.decode('utf-8', errors='replace)
当我打印 var_text 时,它显示为普通文本
print(var_text)
>>>> �-----------------------------------------------------------------------------
-- Propensity MSF Managed Investing (MI) 2.0.0 r
但是当变量本身仍然是它的字节表示时,这意味着我不能在脚本上执行正则表达式。我需要能够以字符串表示形式保存文本,以便搜索模式。
var_text
>>>> '��-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00-\x00\r\x00\n\x00-\x00-\x00 \x00P\x00r\x00o\x00p\x00e\x00n\x00s\x00i\x00t\x00y\x00 \x00M\x00S\x00F\x00 \x00M\x00a\x00n\x00a\x00g\x00e\x00d\x00 \x00I\x00n\x00v\x00e\x00s\x00t\x00i\x00n\x00g\x00 \x00(\x00M\x00I\x00)\x00 \x002\x00.\x000\x00.\x000\x00 \x00r\x00'
我假设解码字节可以解决问题,但没有骰子。如何将对象保存为纯文本?