小编Pob*_*bel的帖子

从文件播放时Qt QAudioOutput缓冲区下溢

我已经基于此处QAudioOutput文档中的示例实现了一个简单的Qt程序.

QAudioOutput当我按下按钮时,程序使用文件播放原始音频.

音频播放正常,但我Got a buffer underflow!在文件结尾处收到QAudioOutput更改为空闲状态.

这是一个QAudioOutput到达文件末尾的正常指示,我应该忽略它,或者这是一个QAudio超出文件末尾的指示,我应该以某种方式解决它?

audio file-io qt buffer underflow

6
推荐指数
0
解决办法
833
查看次数

Python3 处理 tar 文件中的 csv 文件

我正在尝试使用 tar.gz 文件中包含的 csv 文件,但在将正确的数据/对象传递到 csv 模块时遇到问题。

假设我有一个 tar.gz 文件,其中包含许多格式如下的 csv 文件。

1079,SAMPLE_A,GROUP,001,,2017/02/15 22:57:30
1041,SAMPLE_B,GROUP,023,,2017/02/15 22:57:26
1077,SAMPLE_C,GROUP,005,,2017/02/15 22:57:31
1079,SAMPLE_A,GROUP,128,,2017/02/15 22:57:38
Run Code Online (Sandbox Code Playgroud)

我希望能够访问内存中的每个 csv 文件,而无需从 tar 文件中提取每个文件并将其写入磁盘。例如:

import tarfile
import csv

tar = tarfile.open("tar-file.tar.gz")

for member in tar.getmembers():
    f = tar.extractfile(member).read()
    content = csv.reader(f)
    for row in content:
        print(row)
tar.close()
Run Code Online (Sandbox Code Playgroud)

这会产生以下错误。

    for row in content:
_csv.Error: iterator should return strings, not int (did you open the file in text mode?)
Run Code Online (Sandbox Code Playgroud)

我还尝试将 f 解析为字符串,如 csv 模块文档中所述。

content = csv.reader([f])
Run Code Online (Sandbox Code Playgroud)

上面产生了同样的错误。

我尝试将文件对象 f 解析为 …

python csv tar python-3.x

4
推荐指数
1
解决办法
3396
查看次数

标签 统计

audio ×1

buffer ×1

csv ×1

file-io ×1

python ×1

python-3.x ×1

qt ×1

tar ×1

underflow ×1