从文件夹中随机提取.wav文件和相关成绩单(从单个文本文件中)?

时间:2018-10-17 04:12:07

标签: python python-3.x bash

我有一个名为wavs的文件夹。在相同的.wav文件中,我的文件格式为xxxxxxx_a999999,其中xxxxxxx,a和9999是变量。 wavs文件夹之外是一个文本文件,其文件.wav的文件名为no,其抄本的命名格式如下:

(xxxxxxx_a999999 transcript)
(xxxxxxx_a111111 transcript)
...
...

我需要(随机)选择一些wav文件,并为它们选择必要的笔录。我可以使用bash(这就是我使用的工具包的风格)或Python。谁能建议我该怎么做?

根据要求,下面是一个具体示例:

( Arctic_a0001 "Author of the, danger trail, Philip Steels, etc." )
( Arctic_a0002 "Not at this particular case, Tom, apologized, Whittemore." )
( Arctic_a0003 "For the, twentieth time, that evening the two men shook hands." )
( c0589 " But the king refused, saying that the kingdom must go to the oldest son.")
( c0591 " Not until they were both dead, could the kingdom go to the third son.")

假设,我随机选择了3个wav文件,现在我希望从该文本文件中获取相关文本。

1 个答案:

答案 0 :(得分:0)

您可以使用random.choicewavs目录中选择一个wav文件,然后使用生成器表达式构造dict,然后使用文件名作为索引来找到记录: / p>

from random import choice
import os
filename = choice(f for f in os.listdir('wavs') if f.endswith('.wav'))
transcript = dict(l.strip('() \n').split(maxsplit=1) for l in open('transcript.txt')).get(os.path.splitext(filename)[0], '').strip('" ')