[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] 如何把曲目表提取出来

本帖最后由 netdzb 于 2020-4-4 08:44 编辑

PERFORMER "Various"
TITLE "宝丽金非常老牌精选"
FILE "CDImage.ape" WAVE
  TRACK 01 AUDIO
    TITLE "太阳一样"
    PERFORMER "刘文正"
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    TITLE "堆积情感"
    PERFORMER "邝美云"
    INDEX 00 03:28:07
    INDEX 01 03:30:10
  TRACK 03 AUDIO
    TITLE "时空寄情"
    PERFORMER "黄莺莺"
    INDEX 00 08:24:00
    INDEX 01 08:27:12
  TRACK 04 AUDIO
    TITLE "再见我的爱人"
    PERFORMER "邓丽君"
    INDEX 00 12:33:10
    INDEX 01 12:36:32
  TRACK 05 AUDIO
    TITLE "海角天涯"
    PERFORMER "王芷蕾"
    INDEX 00 16:03:02
    INDEX 01 16:06:07
  TRACK 06 AUDIO
    TITLE "廻"
    PERFORMER "李恕权"
    INDEX 00 19:30:30
    INDEX 01 19:33:22
  TRACK 07 AUDIO
    TITLE "故事的真相"
    PERFORMER "黄仲昆、杨林"
    INDEX 00 24:04:05
    INDEX 01 24:06:12
  TRACK 08 AUDIO
    TITLE "扬帆"
    PERFORMER "阳帆"
    INDEX 00 28:34:42
    INDEX 01 28:37:22
======

def main():
    with open('d:/test_trim.txt', 'w', encoding='UTF-8') as fout:
        can_write = False
        with open('d:/test.txt', 'r', encoding='UTF-8') as fin:
            line=fin.readline()
            while(line != ''):
                if line.find('TRACK') == -1:
                    line = fin.readline()
                    continue
                if line.find('TITLE') > -1:
                    print line
                    fout.write(line)
                line = fin.readline()
    print('Done.')

运行结果
应该是
TITLE "歌曲名",我关键的一个地方不会写。
就是输出的时候,怎么把TITLE和引号,
多余的tab去掉?

我改成这样可以吗?
r'(?<=TITLE.*").+?(?=")'
因为我并不清楚title后面有几个空格,
或者是tab?

TOP

回复 5# sxw


这个用perl 5怎么写,手上没有perl6

TOP

返回列表