【发布时间】:2021-05-12 15:55:02
【问题描述】:
我有一个文本文件 (filenames.txt),其中包含文件名及其文件扩展名。
filename.txt
[AW] One Piece - 629 [1080P][Dub].mkv
EP.585.1080p.mp4
EP609.m4v
EP 610.m4v
One Piece 0696 A Tearful Reunion! Rebecca and Kyros!.mp4
One_Piece_0745_Sons'_Cups!.mp4
One Piece - 591 (1080P Funi Web-Dl -Ks-)-1.m4v
One Piece - 621 1080P.mkv
One_Piece_S10E577_Zs_Ambition_A_Great_and_Desperate_Escape_Plan.mp4
这些是示例文件名及其扩展名。我需要用剧集号重命名文件名(不更改其扩展名)。
示例:
Input:
``````
EP609.m4v
EP 610.m4v
EP.585.1080p.mp4
One Piece - 621 1080P.mkv
[AW] One Piece - 629 [1080P][Dub].mkv
One_Piece_0745_Sons'_Cups!.mp4
One Piece 0696 A Tearful Reunion! Rebecca and Kyros!.mp4
One Piece - 591 (1080P Funi Web-Dl -Ks-)-1.m4v
One_Piece_S10E577_Zs_Ambition_A_Great_and_Desperate_Escape_Plan.mp4
Expected Output:
````````````````
609.m4v
610.m4v
585.mp4
621.mkv
629.mkv
745.mp4 (or) 0745.mp4
696.mp4 (or) 0696.mp4
591.m4v
577.mp4
希望有人能帮助我解析和重命名这些文件名。先谢谢了!!!
【问题讨论】:
-
您将不得不更好地定义剧集编号的确定方式,因为其中许多文件名包含多个数值。例如,您可以设置忽略“1080”的规则 - 但如果连续剧的播放时间长到实际有 1080 集,会发生什么情况?
-
是的,你是对的,但文件名中的剧集不会超过 999。到目前为止的最后一集是 973,所以你可以设置规则忽略 1080。
标签: python bash file-handling file-rename python-re