背景
最近晚上睡不着在听梁文道的《一千零一夜》,之前是直接在线听。感觉还不错就下下来了,想拷到古董MP3里。但是MP3容量比较小,只能拷一部分进去。Window的资源管理器没办法对中文数字(“一二三四五六七八九十”)排序。所以只能手工去一个个选。即使选好之后拷进MP3里,播放的顺序也不是想要的。
目标
于是写了个脚本,设定好拷贝范围之后,自动选取范围内的文件,拷贝副本并重命名为1234这种形式。
代码
import os
import re
import shutil
from pycnnum import cn2num
from pathlib import Path
os.chdir("D:\Music\一千零一夜")
dest = "../temp/"
low, high = 0, 10
pwd = Path('.')
files = pwd.glob('*')
Pattern = re.compile("第.*夜")
# m = Pattern.search("phdbbs - 第五十四夜:第二十二条军规(三)")
files_and_num = []
for f in files:
m = Pattern.search(f.name)
if m:
num = cn2num(m.group()[1:-1])
if num > low and num < high:
files_and_num.append((f, num))
for f,num in files_and_num:
shutil.copyfile(str(f),dest+str(num)+".mp3")