解析条件语句

2024-05-26 11:13:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我用Python3编写了一个小实用程序,帮助我将音乐集从NAS复制到移动设备上。这样做的好处是,它可以自动将flac文件转换成ogg vorbis(以节省空间),并根据音频标签(即艺术家、专辑、日期等)排除一些文件。在

我对排除功能的局限性不满意,我想改进它,但我遇到了一个心理障碍,我正在寻求如何继续的建议。在

我希望用户编写一个排除文件,该文件如下所示:

exclude {
    artist is "U2"

    artist is "Uriah Heep" {
        album is "Spellbinder"
        album is "Innocent Victim"
    }
}

这将转化为:

^{pr2}$

将有更多的条件,如子字符串匹配和日期范围。在

我一直在检查PLY,但我在思考如何解析这种类型的嵌套结构,以及如何表示结果条件,以便在复制操作期间应用排除过滤器时在代码中执行它。在


Tags: 文件实用程序album音乐artistis空间音频