我已经基于此处的QAudioOutput文档中的示例实现了一个简单的Qt程序.
QAudioOutput当我按下按钮时,程序使用文件播放原始音频.
音频播放正常,但我Got a buffer underflow!在文件结尾处收到QAudioOutput更改为空闲状态.
这是一个QAudioOutput到达文件末尾的正常指示,我应该忽略它,或者这是一个QAudio超出文件末尾的指示,我应该以某种方式解决它?
我正在尝试使用 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 解析为 …