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"']
我的第一个问题,所以我会简化它。 所以我有一个分解音频文件的 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"']