转换音频后,文件长度有损失?

来源:5-2 如何处理二进制文件

不务正业的码农

2018-05-06

f = open('demo.wav', 'rb')
info = f.read(44)

print(f.read(44))
print(struct.unpack('h', info[34:36]))

f.seek(0, 2)
print(f.tell())

n = int((f.tell()-44)/2)

print(n)

buf = array.array("h", [])
f.seek(44)
buf.fromfile(f, n)

print(len(buf))

for x in range(0, n):
    buf[x] = int(buf[x]/8)
    print(buf[x])

f2 = open("demo2.wav", "wb")

f2.write(info)

buf.tofile(f2)

f2.close()

老师,两个问题请教一下,第一个是算数组长度的时候,为什么我用两个整数相除,会得出浮点数的结果。被迫进行了强制类型转换,第二个是。。为啥我这么写出来 长度只有原来的10分之一左右了。。

写回答

1回答

程序员硕

2018-05-09

python3的话, 得到整数用//做除法。后面一个问题需要自己调试下,可以查看下每次写入字节数。

0
0

Python高效编程技巧实战

精选50个Python案例,源自实战,全面提升Python编程能力

2582 学习 · 360 问题

查看课程