读取Weidmuller文件并提取数据

0 投票
1 回答
21 浏览
提问于 2025-04-14 15:42

我有一个文件,是用程序 "M-Print Pro, for Weidmuller" 创建的。这个文件的扩展名是 ".mpc",程序给出的文件描述是 "包含 M-Print PRO 内容的文件"

这是通过程序看到的文件样子:

这里输入图片描述

现在,我试着找一个 Python 库来读取这个文件,但很遗憾没有找到,因为这种扩展名通常是用来表示 Musepack 音频文件的。

在这种情况下,我简单地尝试用以下方式打开它:

r = open("C:/Users/Acer/Desktop/E3611310/CABLAGGIO.mpc", "r")
print(r.read())

结果我遇到了以下错误:

return codecs.charmap_decode(input,self.errors,decoding_table)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8f in position 188: character maps to <undefined>

我尝试添加 encoding="utf8",但仍然出现错误:

File "<frozen codecs>", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x84 in position 10: invalid start byte

我想做的有两个方面,首先是能够读取并恢复这种类型文件的数据,其次是能够用新数据创建一个类似的文件。

你们有什么想法可以帮我解决这个问题吗?谢谢大家

1 个回答

0

根据我的了解,.mpc 是那家公司的一种专有文件格式。我没能找到关于这种文件格式的任何文档或说明。

针对你的问题,我建议 .mpc 文件格式可能不是以 utf-8 编码保存的字符(可能根本没有编码……也可能是他们自己定义的编码或者是按字节存储的)。每当涉及到专有文件格式时,我能给你的建议只有:

  1. 如果你有很多时间,你需要手动解码这个文件格式(不幸的是,我觉得这几乎不可能……)。我不推荐这样做,因为公司随时可以完全改变这个格式!
  2. 转而使用标准化的文件格式(这是我的建议!)。不过这并不总是可行的(我不知道在你具体的情况下是否有这样的格式)。
  3. 使用专有软件,这款软件是为了处理这种专有文件格式而设计的(显然,这就是公司使用专有文件格式的原因……)

撰写回答