UnicodeDecodeError:“ charmap”编解码器无法解码位置106的字节0x8f:字符映射为<undefined>

EZC404

我试图将多个ts文件合并为一个,如果我尝试运行它,它给了我

UnicodeDecodeError:“ charmap”编解码器无法解码位置106的字节0x8f:字符映射到

count = 76
main = "tsPath/seg_768x432_725648_"

for x in range(count):
    z = main+str(x)+".ts"
    print(z)
    with open(output, 'wb') as f:
        with open(z) as fh:
            f.write(fh.read())
用户名

好的,我现在看到了问题。

假设文件存在于您的计算机上,则以下代码将正常运行:

count = 76
main = "tsPath/seg_768x432_725648_"

with open(output, 'wb') as f:
    for x in range(count):
        z = main+str(x)+".ts"
        print(z)
        with open(z, 'rb') as fh:
            f.write(fh.read())

进行了哪些更改,为什么?

  1. 注意,循环位于with内,open(output, 'wb')不是相反。之所以需要这样做,是因为每次以wb模式打开文件时,文件中早先存在的所有数据都将被删除(与w模式相同)。因此,我们只打开该output文件一次即可写入。这将允许您从正在读取的文件中累积数据(这是您要执行的操作)。

  2. 默认情况下mode,该open函数参数设置为r(读取文本)。您正在读取二进制数据,因此请使用rb模式。其他答案正确地指出了这一点,但错过了第一点)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档