2017-05-09 31 views
1

是否可以向此代码添加while循环?所以它可以连续获得线条块,直到它仍然可以看到开始和结束字。如何连续读取文本的细节和行数的块

with open('test.txt') as input_data: 
    for line in input_data: 
     if line.strip() == 'Start': 
      break 
    for line in input_data: 
     if line.strip() == 'End': 
      break 
     print line 

如果您要从我的文本文件中获取数据,我需要从VIDEO字符串开始直到AUDIO字符串。然后从AUDIO到MKV。它应该一直持续到文件结束。这是我的文件的示例。

*****START OF YOUTUBE***** 
VIDEO 

[download] 0.0% of 5.30MiB at 188.75KiB/s ETA 00:29 
[download] 0.1% of 5.30MiB at 474.99KiB/s ETA 00:11 
[download] 0.1% of 5.30MiB at 984.97KiB/s ETA 00:05 
[download] 0.3% of 5.30MiB at 1.85MiB/s ETA 00:02 
[download] 0.6% of 5.30MiB at 896.97KiB/s ETA 00:06 
[download] 1.2% of 5.30MiB at 888.54KiB/s ETA 00:06 
[download] 2.3% of 5.30MiB at 1006.45KiB/s ETA 00:05 
[download] 4.7% of 5.30MiB at 916.41KiB/s ETA 00:05 
[download] 9.4% of 5.30MiB at 863.70KiB/s ETA 00:05 
[download] 18.9% of 5.30MiB at 847.73KiB/s ETA 00:05 
[download] 34.2% of 5.30MiB at 843.72KiB/s ETA 00:04 
[download] 49.7% of 5.30MiB at 840.54KiB/s ETA 00:03 
[download] 65.0% of 5.30MiB at 839.77KiB/s ETA 00:02 
[download] 80.5% of 5.30MiB at 839.71KiB/s ETA 00:01 
[download] 95.9% of 5.30MiB at 839.39KiB/s ETA 00:00 
[download] 100.0% of 5.30MiB at 842.74KiB/s ETA 00:00 
[download] 100% of 5.30MiB in 00:06 
AUDIO 

[download] 0.0% of 2.99MiB at 112.61KiB/s ETA 00:27 
[download] 0.1% of 2.99MiB at 311.43KiB/s ETA 00:09 
[download] 0.2% of 2.99MiB at 682.19KiB/s ETA 00:04 
[download] 0.5% of 2.99MiB at 1.32MiB/s ETA 00:02 
[download] 1.0% of 2.99MiB at 943.80KiB/s ETA 00:03 
[download] 2.1% of 2.99MiB at 1.17MiB/s ETA 00:02 
[download] 4.1% of 2.99MiB at 1.31MiB/s ETA 00:02 
[download] 8.3% of 2.99MiB at 1.59MiB/s ETA 00:01 
[download] 16.7% of 2.99MiB at 1.37MiB/s ETA 00:01 
[download] 33.4% of 2.99MiB at 1.03MiB/s ETA 00:01 
[download] 60.8% of 2.99MiB at 942.47KiB/s ETA 00:01 
[download] 88.1% of 2.99MiB at 908.52KiB/s ETA 00:00 
[download] 100.0% of 2.99MiB at 897.53KiB/s ETA 00:00 
[download] 100% of 2.99MiB in 00:03 
MKV 

05-05-2017_00:35:15:677036 
*****END OF YOUTUBE***** 
*****START OF YOUTUBE***** 

VIDEO 

[download] 0.0% of 41.89MiB at 251.26KiB/s ETA 02:55 
[download] 0.0% of 41.89MiB at 612.01KiB/s ETA 01:10 
[download] 0.0% of 41.89MiB at 1.23MiB/s ETA 00:34 
[download] 0.0% of 41.89MiB at 2.33MiB/s ETA 00:18 
[download] 0.1% of 41.89MiB at 783.21KiB/s ETA 00:54 
[download] 0.1% of 41.89MiB at 959.46KiB/s ETA 00:44 
[download] 0.3% of 41.89MiB at 1.16MiB/s ETA 00:36 
[download] 0.6% of 41.89MiB at 1.45MiB/s ETA 00:28 
[download] 1.2% of 41.89MiB at 1.15MiB/s ETA 00:35 
[download] 2.4% of 41.89MiB at 986.82KiB/s ETA 00:42 
[download] 4.4% of 41.89MiB at 912.91KiB/s ETA 00:44 
[download] 6.3% of 41.89MiB at 877.92KiB/s ETA 00:45 
[download] 8.2% of 41.89MiB at 870.89KiB/s ETA 00:45 
[download] 10.2% of 41.89MiB at 865.95KiB/s ETA 00:44 
[download] 12.1% of 41.89MiB at 862.33KiB/s ETA 00:43 
[download] 14.1% of 41.89MiB at 859.01KiB/s ETA 00:42 
[download] 16.1% of 41.89MiB at 857.18KiB/s ETA 00:42 
[download] 18.0% of 41.89MiB at 855.34KiB/s ETA 00:41 
[download] 20.0% of 41.89MiB at 850.76KiB/s ETA 00:40 
[download] 21.9% of 41.89MiB at 850.71KiB/s ETA 00:39 
[download] 23.9% of 41.89MiB at 850.61KiB/s ETA 00:38 
[download] 25.9% of 41.89MiB at 850.12KiB/s ETA 00:37 
[download] 27.8% of 41.89MiB at 849.74KiB/s ETA 00:36 
[download] 29.8% of 41.89MiB at 849.08KiB/s ETA 00:35 
[download] 31.7% of 41.89MiB at 848.78KiB/s ETA 00:34 
[download] 33.7% of 41.89MiB at 846.31KiB/s ETA 00:33 
[download] 35.6% of 41.89MiB at 844.42KiB/s ETA 00:32 
[download] 37.5% of 41.89MiB at 844.68KiB/s ETA 00:31 
[download] 39.5% of 41.89MiB at 844.87KiB/s ETA 00:30 
[download] 41.5% of 41.89MiB at 844.76KiB/s ETA 00:29 
[download] 43.4% of 41.89MiB at 844.93KiB/s ETA 00:28 
[download] 45.4% of 41.89MiB at 844.77KiB/s ETA 00:27 
[download] 47.4% of 41.89MiB at 843.37KiB/s ETA 00:26 
[download] 49.2% of 41.89MiB at 843.65KiB/s ETA 00:25 
[download] 51.2% of 41.89MiB at 843.66KiB/s ETA 00:24 
[download] 53.2% of 41.89MiB at 843.50KiB/s ETA 00:23 
[download] 55.2% of 41.89MiB at 843.46KiB/s ETA 00:22 
[download] 57.1% of 41.89MiB at 843.19KiB/s ETA 00:21 
[download] 59.1% of 41.89MiB at 843.22KiB/s ETA 00:20 
[download] 61.0% of 41.89MiB at 842.88KiB/s ETA 00:19 
[download] 63.0% of 41.89MiB at 843.00KiB/s ETA 00:18 
[download] 65.0% of 41.89MiB at 842.80KiB/s ETA 00:17 
[download] 66.9% of 41.89MiB at 842.91KiB/s ETA 00:16 
[download] 68.9% of 41.89MiB at 842.09KiB/s ETA 00:15 
[download] 70.8% of 41.89MiB at 842.40KiB/s ETA 00:14 
[download] 72.8% of 41.89MiB at 840.95KiB/s ETA 00:13 
[download] 74.6% of 41.89MiB at 840.38KiB/s ETA 00:12 
[download] 76.5% of 41.89MiB at 840.77KiB/s ETA 00:11 
[download] 78.5% of 41.89MiB at 840.21KiB/s ETA 00:10 
[download] 80.4% of 41.89MiB at 840.45KiB/s ETA 00:09 
[download] 82.4% of 41.89MiB at 840.65KiB/s ETA 00:08 
[download] 84.4% of 41.89MiB at 840.80KiB/s ETA 00:07 
[download] 86.4% of 41.89MiB at 840.35KiB/s ETA 00:06 
[download] 88.3% of 41.89MiB at 840.73KiB/s ETA 00:05 
[download] 90.3% of 41.89MiB at 840.32KiB/s ETA 00:04 
[download] 92.2% of 41.89MiB at 840.69KiB/s ETA 00:03 
[download] 94.2% of 41.89MiB at 840.31KiB/s ETA 00:02 
[download] 96.1% of 41.89MiB at 840.64KiB/s ETA 00:01 
[download] 98.1% of 41.89MiB at 840.26KiB/s ETA 00:00 
[download] 100.0% of 41.89MiB at 840.32KiB/s ETA 00:00 
[download] 100% of 41.89MiB in 00:51 
AUDIO 

[download] 0.0% of 10.35MiB at 114.98KiB/s ETA 01:32 
[download] 0.0% of 10.35MiB at 317.99KiB/s ETA 00:33 
[download] 0.1% of 10.35MiB at 694.85KiB/s ETA 00:15 
[download] 0.1% of 10.35MiB at 1.37MiB/s ETA 00:07 
[download] 0.3% of 10.35MiB at 846.04KiB/s ETA 00:12 
[download] 0.6% of 10.35MiB at 1.14MiB/s ETA 00:09 
[download] 1.2% of 10.35MiB at 1.29MiB/s ETA 00:07 
[download] 2.4% of 10.35MiB at 1.71MiB/s ETA 00:05 
[download] 4.8% of 10.35MiB at 2.00MiB/s ETA 00:04 
[download] 9.7% of 10.35MiB at 1.17MiB/s ETA 00:07 
[download] 17.7% of 10.35MiB at 985.70KiB/s ETA 00:08 
[download] 25.3% of 10.35MiB at 940.66KiB/s ETA 00:08 
[download] 33.3% of 10.35MiB at 916.90KiB/s ETA 00:07 
[download] 41.4% of 10.35MiB at 900.34KiB/s ETA 00:06 
[download] 49.3% of 10.35MiB at 885.27KiB/s ETA 00:06 
[download] 56.9% of 10.35MiB at 880.58KiB/s ETA 00:05 
[download] 65.0% of 10.35MiB at 876.17KiB/s ETA 00:04 
[download] 73.0% of 10.35MiB at 868.96KiB/s ETA 00:03 
[download] 80.7% of 10.35MiB at 867.56KiB/s ETA 00:02 
[download] 88.7% of 10.35MiB at 865.95KiB/s ETA 00:01 
[download] 96.7% of 10.35MiB at 862.35KiB/s ETA 00:00 
[download] 100.0% of 10.35MiB at 862.21KiB/s ETA 00:00 
[download] 100% of 10.35MiB in 00:12 
MKV 


05-05-2017_00:36:24:569523 
*****END OF YOUTUBE***** 
*****START OF YOUTUBE***** 

VIDEO 

[download] 0.0% of 5.30MiB at 188.75KiB/s ETA 00:29 
[download] 0.1% of 5.30MiB at 474.99KiB/s ETA 00:11 
[download] 0.1% of 5.30MiB at 984.97KiB/s ETA 00:05 
[download] 0.3% of 5.30MiB at 1.85MiB/s ETA 00:02 
[download] 0.6% of 5.30MiB at 896.97KiB/s ETA 00:06 
[download] 1.2% of 5.30MiB at 888.54KiB/s ETA 00:06 
[download] 2.3% of 5.30MiB at 1006.45KiB/s ETA 00:05 
[download] 4.7% of 5.30MiB at 916.41KiB/s ETA 00:05 
[download] 9.4% of 5.30MiB at 863.70KiB/s ETA 00:05 
[download] 18.9% of 5.30MiB at 847.73KiB/s ETA 00:05 
[download] 34.2% of 5.30MiB at 843.72KiB/s ETA 00:04 
[download] 49.7% of 5.30MiB at 840.54KiB/s ETA 00:03 
[download] 65.0% of 5.30MiB at 839.77KiB/s ETA 00:02 
[download] 80.5% of 5.30MiB at 839.71KiB/s ETA 00:01 
[download] 95.9% of 5.30MiB at 839.39KiB/s ETA 00:00 
[download] 100.0% of 5.30MiB at 842.74KiB/s ETA 00:00 
[download] 100% of 5.30MiB in 00:06 
AUDIO 

[download] 0.0% of 2.99MiB at 112.61KiB/s ETA 00:27 
[download] 0.1% of 2.99MiB at 311.43KiB/s ETA 00:09 
[download] 0.2% of 2.99MiB at 682.19KiB/s ETA 00:04 
[download] 0.5% of 2.99MiB at 1.32MiB/s ETA 00:02 
[download] 1.0% of 2.99MiB at 943.80KiB/s ETA 00:03 
[download] 2.1% of 2.99MiB at 1.17MiB/s ETA 00:02 
[download] 4.1% of 2.99MiB at 1.31MiB/s ETA 00:02 
[download] 8.3% of 2.99MiB at 1.59MiB/s ETA 00:01 
[download] 16.7% of 2.99MiB at 1.37MiB/s ETA 00:01 
[download] 33.4% of 2.99MiB at 1.03MiB/s ETA 00:01 
[download] 60.8% of 2.99MiB at 942.47KiB/s ETA 00:01 
[download] 88.1% of 2.99MiB at 908.52KiB/s ETA 00:00 
[download] 100.0% of 2.99MiB at 897.53KiB/s ETA 00:00 
[download] 100% of 2.99MiB in 00:03 
MKV 


05-05-2017_00:35:15:677036 
*****END OF YOUTUBE***** 

实际的文件比这个长。 获取行块后,我要计算具有数据的实例数量,例如百分比。就像从视频到音频的第一块一样,它有17行。

示例输出

Video to Audio 
Count = 17 

Audio to MKV 
Count = 14 

然后再次重复,直到文件的末尾,以便它应该是

最终样本输出

Video to Audio 
Count = 17 

Audio to MKV 
Count = 14 

Video to Audio 
Count = 61 

Audio to MKV 
Count = 23 
+0

你能证明你期望得到的输出的例子吗? – Tim

+0

@Tim您好我编辑我的帖子,以便您可以看到示例输出。 –

回答

0

下面是一个例子,说明你只能处理该文件一次(它不使用一个while循环,但你可以把它变成一个看起来稍微丑陋的)

video_lines = [] 
audio_lines = [] 
mkv_lines = [] 

start_video_lines = False 
start_audio_lines = False 
start_mkv_lines = False 

with open('test.txt') as input_data: 
    for line in input_data: 
     if line.strip() == 'VIDEO': 
      start_video_lines = True 
      continue 
     if line.strip() == 'AUDIO': 
      start_audio_lines = True 
      continue 
     if line.strip() == 'MKV': 
      start_mkv_lines = True 
      continue 

     if start_mkv_lines: 
      mkv_lines += line 
     elif start_audio_lines: 
      audio_lines += line 
     elif start_video_lines: 
      video_lines += line 

# Then you can do your processing of mkv_lines, audio_lines, and video_lines here. 
+0

因此,它只停止一个街区?我怎样才能得到文件中的其他块。 –

1

下面是一个使用字符串的find方法解决:

你作为一个例子给出的字符串:

string = """ 
*****START OF YOUTUBE***** 

VIDEO 

[download] 0.0% of 5.30MiB at 188.75KiB/s ETA 00:29 
[download] 0.1% of 5.30MiB at 474.99KiB/s ETA 00:11 
[download] 0.1% of 5.30MiB at 984.97KiB/s ETA 00:05 
[download] 0.3% of 5.30MiB at 1.85MiB/s ETA 00:02 
[download] 0.6% of 5.30MiB at 896.97KiB/s ETA 00:06 
[download] 1.2% of 5.30MiB at 888.54KiB/s ETA 00:06 
[download] 2.3% of 5.30MiB at 1006.45KiB/s ETA 00:05 
[download] 4.7% of 5.30MiB at 916.41KiB/s ETA 00:05 
[download] 9.4% of 5.30MiB at 863.70KiB/s ETA 00:05 
[download] 18.9% of 5.30MiB at 847.73KiB/s ETA 00:05 
[download] 34.2% of 5.30MiB at 843.72KiB/s ETA 00:04 
[download] 49.7% of 5.30MiB at 840.54KiB/s ETA 00:03 
[download] 65.0% of 5.30MiB at 839.77KiB/s ETA 00:02 
[download] 80.5% of 5.30MiB at 839.71KiB/s ETA 00:01 
[download] 95.9% of 5.30MiB at 839.39KiB/s ETA 00:00 
[download] 100.0% of 5.30MiB at 842.74KiB/s ETA 00:00 
[download] 100% of 5.30MiB in 00:06 
AUDIO 

[download] 0.0% of 2.99MiB at 112.61KiB/s ETA 00:27 
[download] 0.1% of 2.99MiB at 311.43KiB/s ETA 00:09 
[download] 0.2% of 2.99MiB at 682.19KiB/s ETA 00:04 
[download] 0.5% of 2.99MiB at 1.32MiB/s ETA 00:02 
[download] 1.0% of 2.99MiB at 943.80KiB/s ETA 00:03 
[download] 2.1% of 2.99MiB at 1.17MiB/s ETA 00:02 
[download] 4.1% of 2.99MiB at 1.31MiB/s ETA 00:02 
[download] 8.3% of 2.99MiB at 1.59MiB/s ETA 00:01 
[download] 16.7% of 2.99MiB at 1.37MiB/s ETA 00:01 
[download] 33.4% of 2.99MiB at 1.03MiB/s ETA 00:01 
[download] 60.8% of 2.99MiB at 942.47KiB/s ETA 00:01 
[download] 88.1% of 2.99MiB at 908.52KiB/s ETA 00:00 
[download] 100.0% of 2.99MiB at 897.53KiB/s ETA 00:00 
[download] 100% of 2.99MiB in 00:03 
MKV 

05-05-2017_00:35:15:677036 
*****END OF YOUTUBE***** 
*****START OF YOUTUBE***** 

VIDEO 

[download] 0.0% of 41.89MiB at 251.26KiB/s ETA 02:55 
[download] 0.0% of 41.89MiB at 612.01KiB/s ETA 01:10 
[download] 0.0% of 41.89MiB at 1.23MiB/s ETA 00:34 
[download] 0.0% of 41.89MiB at 2.33MiB/s ETA 00:18 
[download] 0.1% of 41.89MiB at 783.21KiB/s ETA 00:54 
[download] 0.1% of 41.89MiB at 959.46KiB/s ETA 00:44 
[download] 0.3% of 41.89MiB at 1.16MiB/s ETA 00:36 
[download] 0.6% of 41.89MiB at 1.45MiB/s ETA 00:28 
[download] 1.2% of 41.89MiB at 1.15MiB/s ETA 00:35 
[download] 2.4% of 41.89MiB at 986.82KiB/s ETA 00:42 
[download] 4.4% of 41.89MiB at 912.91KiB/s ETA 00:44 
[download] 6.3% of 41.89MiB at 877.92KiB/s ETA 00:45 
[download] 8.2% of 41.89MiB at 870.89KiB/s ETA 00:45 
[download] 10.2% of 41.89MiB at 865.95KiB/s ETA 00:44 
[download] 12.1% of 41.89MiB at 862.33KiB/s ETA 00:43 
[download] 14.1% of 41.89MiB at 859.01KiB/s ETA 00:42 
[download] 16.1% of 41.89MiB at 857.18KiB/s ETA 00:42 
[download] 18.0% of 41.89MiB at 855.34KiB/s ETA 00:41 
[download] 20.0% of 41.89MiB at 850.76KiB/s ETA 00:40 
[download] 21.9% of 41.89MiB at 850.71KiB/s ETA 00:39 
[download] 23.9% of 41.89MiB at 850.61KiB/s ETA 00:38 
[download] 25.9% of 41.89MiB at 850.12KiB/s ETA 00:37 
[download] 27.8% of 41.89MiB at 849.74KiB/s ETA 00:36 
[download] 29.8% of 41.89MiB at 849.08KiB/s ETA 00:35 
[download] 31.7% of 41.89MiB at 848.78KiB/s ETA 00:34 
[download] 33.7% of 41.89MiB at 846.31KiB/s ETA 00:33 
[download] 35.6% of 41.89MiB at 844.42KiB/s ETA 00:32 
[download] 37.5% of 41.89MiB at 844.68KiB/s ETA 00:31 
[download] 39.5% of 41.89MiB at 844.87KiB/s ETA 00:30 
[download] 41.5% of 41.89MiB at 844.76KiB/s ETA 00:29 
[download] 43.4% of 41.89MiB at 844.93KiB/s ETA 00:28 
[download] 45.4% of 41.89MiB at 844.77KiB/s ETA 00:27 
[download] 47.4% of 41.89MiB at 843.37KiB/s ETA 00:26 
[download] 49.2% of 41.89MiB at 843.65KiB/s ETA 00:25 
[download] 51.2% of 41.89MiB at 843.66KiB/s ETA 00:24 
[download] 53.2% of 41.89MiB at 843.50KiB/s ETA 00:23 
[download] 55.2% of 41.89MiB at 843.46KiB/s ETA 00:22 
[download] 57.1% of 41.89MiB at 843.19KiB/s ETA 00:21 
[download] 59.1% of 41.89MiB at 843.22KiB/s ETA 00:20 
[download] 61.0% of 41.89MiB at 842.88KiB/s ETA 00:19 
[download] 63.0% of 41.89MiB at 843.00KiB/s ETA 00:18 
[download] 65.0% of 41.89MiB at 842.80KiB/s ETA 00:17 
[download] 66.9% of 41.89MiB at 842.91KiB/s ETA 00:16 
[download] 68.9% of 41.89MiB at 842.09KiB/s ETA 00:15 
[download] 70.8% of 41.89MiB at 842.40KiB/s ETA 00:14 
[download] 72.8% of 41.89MiB at 840.95KiB/s ETA 00:13 
[download] 74.6% of 41.89MiB at 840.38KiB/s ETA 00:12 
[download] 76.5% of 41.89MiB at 840.77KiB/s ETA 00:11 
[download] 78.5% of 41.89MiB at 840.21KiB/s ETA 00:10 
[download] 80.4% of 41.89MiB at 840.45KiB/s ETA 00:09 
[download] 82.4% of 41.89MiB at 840.65KiB/s ETA 00:08 
[download] 84.4% of 41.89MiB at 840.80KiB/s ETA 00:07 
[download] 86.4% of 41.89MiB at 840.35KiB/s ETA 00:06 
[download] 88.3% of 41.89MiB at 840.73KiB/s ETA 00:05 
[download] 90.3% of 41.89MiB at 840.32KiB/s ETA 00:04 
[download] 92.2% of 41.89MiB at 840.69KiB/s ETA 00:03 
[download] 94.2% of 41.89MiB at 840.31KiB/s ETA 00:02 
[download] 96.1% of 41.89MiB at 840.64KiB/s ETA 00:01 
[download] 98.1% of 41.89MiB at 840.26KiB/s ETA 00:00 
[download] 100.0% of 41.89MiB at 840.32KiB/s ETA 00:00 
[download] 100% of 41.89MiB in 00:51 
AUDIO 

[download] 0.0% of 10.35MiB at 114.98KiB/s ETA 01:32 
[download] 0.0% of 10.35MiB at 317.99KiB/s ETA 00:33 
[download] 0.1% of 10.35MiB at 694.85KiB/s ETA 00:15 
[download] 0.1% of 10.35MiB at 1.37MiB/s ETA 00:07 
[download] 0.3% of 10.35MiB at 846.04KiB/s ETA 00:12 
[download] 0.6% of 10.35MiB at 1.14MiB/s ETA 00:09 
[download] 1.2% of 10.35MiB at 1.29MiB/s ETA 00:07 
[download] 2.4% of 10.35MiB at 1.71MiB/s ETA 00:05 
[download] 4.8% of 10.35MiB at 2.00MiB/s ETA 00:04 
[download] 9.7% of 10.35MiB at 1.17MiB/s ETA 00:07 
[download] 17.7% of 10.35MiB at 985.70KiB/s ETA 00:08 
[download] 25.3% of 10.35MiB at 940.66KiB/s ETA 00:08 
[download] 33.3% of 10.35MiB at 916.90KiB/s ETA 00:07 
[download] 41.4% of 10.35MiB at 900.34KiB/s ETA 00:06 
[download] 49.3% of 10.35MiB at 885.27KiB/s ETA 00:06 
[download] 56.9% of 10.35MiB at 880.58KiB/s ETA 00:05 
[download] 65.0% of 10.35MiB at 876.17KiB/s ETA 00:04 
[download] 73.0% of 10.35MiB at 868.96KiB/s ETA 00:03 
[download] 80.7% of 10.35MiB at 867.56KiB/s ETA 00:02 
[download] 88.7% of 10.35MiB at 865.95KiB/s ETA 00:01 
[download] 96.7% of 10.35MiB at 862.35KiB/s ETA 00:00 
[download] 100.0% of 10.35MiB at 862.21KiB/s ETA 00:00 
[download] 100% of 10.35MiB in 00:12 
MKV 


05-05-2017_00:36:24:569523 
*****END OF YOUTUBE***** 
*****START OF YOUTUBE***** 

VIDEO 

[download] 0.0% of 5.30MiB at 188.75KiB/s ETA 00:29 
[download] 0.1% of 5.30MiB at 474.99KiB/s ETA 00:11 
[download] 0.1% of 5.30MiB at 984.97KiB/s ETA 00:05 
[download] 0.3% of 5.30MiB at 1.85MiB/s ETA 00:02 
[download] 0.6% of 5.30MiB at 896.97KiB/s ETA 00:06 
[download] 1.2% of 5.30MiB at 888.54KiB/s ETA 00:06 
[download] 2.3% of 5.30MiB at 1006.45KiB/s ETA 00:05 
[download] 4.7% of 5.30MiB at 916.41KiB/s ETA 00:05 
[download] 9.4% of 5.30MiB at 863.70KiB/s ETA 00:05 
[download] 18.9% of 5.30MiB at 847.73KiB/s ETA 00:05 
[download] 34.2% of 5.30MiB at 843.72KiB/s ETA 00:04 
[download] 49.7% of 5.30MiB at 840.54KiB/s ETA 00:03 
[download] 65.0% of 5.30MiB at 839.77KiB/s ETA 00:02 
[download] 80.5% of 5.30MiB at 839.71KiB/s ETA 00:01 
[download] 95.9% of 5.30MiB at 839.39KiB/s ETA 00:00 
[download] 100.0% of 5.30MiB at 842.74KiB/s ETA 00:00 
[download] 100% of 5.30MiB in 00:06 
AUDIO 

[download] 0.0% of 2.99MiB at 112.61KiB/s ETA 00:27 
[download] 0.1% of 2.99MiB at 311.43KiB/s ETA 00:09 
[download] 0.2% of 2.99MiB at 682.19KiB/s ETA 00:04 
[download] 0.5% of 2.99MiB at 1.32MiB/s ETA 00:02 
[download] 1.0% of 2.99MiB at 943.80KiB/s ETA 00:03 
[download] 2.1% of 2.99MiB at 1.17MiB/s ETA 00:02 
[download] 4.1% of 2.99MiB at 1.31MiB/s ETA 00:02 
[download] 8.3% of 2.99MiB at 1.59MiB/s ETA 00:01 
[download] 16.7% of 2.99MiB at 1.37MiB/s ETA 00:01 
[download] 33.4% of 2.99MiB at 1.03MiB/s ETA 00:01 
[download] 60.8% of 2.99MiB at 942.47KiB/s ETA 00:01 
[download] 88.1% of 2.99MiB at 908.52KiB/s ETA 00:00 
[download] 100.0% of 2.99MiB at 897.53KiB/s ETA 00:00 
[download] 100% of 2.99MiB in 00:03 
MKV 


05-05-2017_00:35:15:677036 
*****END OF YOUTUBE***** 
""" 

实际的解决方案:

audio_indexes = [] 
video_indexes = [] 
mkv_indexes = [] 
audios = string.find("AUDIO") 
while audios > 0: 
    audio_indexes.append(audios) 
    audios = string.find("AUDIO", audios+len("AUDIO")) 
videos = string.find("VIDEO") 
while videos > 0: 
    video_indexes.append(videos) 
    videos = string.find("VIDEO", videos+len("VIDEO")) 
mkv = string.find("MKV") 
while mkv > 0: 
    mkv_indexes.append(mkv) 
    mkv = string.find("MKV", mkv+len("MKV")) 

for i, k in enumerate(video_indexes): 
    print("Video to Audio: %d" % string[k:audio_indexes[i]].count('[download]')) 
for i, k in enumerate(audio_indexes): 
    print("Audio to MKV: %d" % string[k:mkv_indexes[i]].count('[download]')) 

输出:

Video to Audio: 17 
Video to Audio: 61 
Video to Audio: 17 
Audio to MKV: 14 
Audio to MKV: 23 
Audio to MKV: 14 

当然,您可以改变它们的打印顺序。

0

我的解决方案将处理大量输入文件,并且如果您希望对数据集进行任何其他分析,还可以提供方便的数据结构。

from __future__ import print_function 


def parse_file(f): 
    """ 
    Parse file into sections by walking the through the file and extracting counts. 

    Returns a list of tuples (START_WORD, END_WORD, LINE_COUNT) 

    :param f: Input file 
    :returns: List of tuples 
    """ 
    results = [] 
    current_block = None 
    current_section = None 
    line_counter = 0 

    for line in f: 
     if 'START' in line: 
      # Start of a block create a new block and clear section 
      current_block = [] 
      current_section = None 

     elif 'END' in line: 
      # End of a block, append the current one to the result list 
      results.append(current_block) 

     elif '[download]' in line: 
      line_counter += 1 

     else: 
      # Handle video/audio/mkv section counts 
      line = line.strip() 
      if line in ('VIDEO', 'AUDIO', 'MKV'): 
       if current_section: 
        current_block.append((current_section, line, line_counter)) 
       current_section = line 
       line_counter = 0 

    return results 


# Input data is expected to be in *data.txt* 
with open('data.txt') as f: 
    results = parse_file(f) 

    for block in results: 
     for start, end, count in block: 
      print("{} to {}\nCount = {}\n".format(start.title(), end.title(), count)) 
相关问题