我有一个名为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文件,现在我希望从该文本文件中获取相关文本。
答案 0 :(得分:0)
您可以使用random.choice
从wavs
目录中选择一个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('" ')