Python: 你如何从文件中取出一个随机词(如果这个词本身也是随机的)?

Python: How do you take a random word (if the word itself is also random) out of a file?

我的第一个问题,所以我会简化它。 所以我有一个分解音频文件的 txt 文件:

 <Stream: itag="249"; mime_type="audio/webm" abr="50kbps" acodec="opus" progressive="False" type="audio">
 <Stream: itag="250"; mime_type="audio/webm" abr="70kbps" acodec="opus" progressive="False" type="audio">
 <Stream: itag="251"; mime_type="audio/webm" abr="160kbps" acodec="opus" progressive="False" type="audio">

我想把itag="{n}";都拿出来打印出来。我的首选输出是:

itag="249"
itag="250"
itag="251"

但问题是,每次用户提供不同的音频时,{n} 的 3 个 itags 都会不同。这是我试过的代码:

with open(report_file) as file_obj:
    for line in file_obj:
        disk_read=''.join(map(str, open(report_file).readline()))
        index=disk_read.find(';')
        return disk_read[:index]+disk_read[disk_read.find('\n'):]

但输出是:

 <Stream: itag="249"

其余的就消失了。任何帮助将不胜感激! 编辑:谢谢 not_speshal!结案,谢谢大家

通过 string.split(分隔符,最大拆分)

试试这个
with open(report_file) as file_obj:
    tag = []
    for line in file_obj:
        text = line.split(";")
        text = text[0].split(": ")
        tag.append(text[-1])
    return tag

您应该能够对字符串进行切片

with open(report_file) as file_obj:
    for line in file_obj:
        disk_read=''.join(map(str, open(report_file).readline(line)))
        index=disk_read.find(';')
        return disk_read[8:index]+disk_read[disk_read.find('\n'):]

试试这个:

def parse(report_file):
    itags = list()
    with open(report_file) as file_obj:
        for line in file_obj:
            itags.append(line.split(";")[0].split(":")[-1].strip())
    return itags

>>> parse("test.txt")
['itag="249"', 'itag="250"', 'itag="251"']