批量重命名电子书

好几年前,我刚进大学那会儿结识了一个越南朋友,Jack。他向我推荐了gigapedia。一个可以免费下电子书的网站。英文技术类的书居多。当中换过几次域名,目前叫library.nu。类似海盗湾,只不过下载媒介不是依赖于P2P,而是HTTP,文件都是来自第三方的文件存储网站。通过这个渠道下载书籍的合法性我还不清楚,但是用这种渠道传播肯定是损害到作者和出版商的利益的,所以不鼓励contribute。背景交代完毕。

下载下来的书基本上都用了比较不好看的文件名,比如“ebooksclub.org__Twitter_API__Up_and_Running__Learn_How_to_Build_Applications_with_the_Twitter_API.pdf”,所以决定写个脚本来批量改换文件名。脚本如下:

1
2
3
4
5
6
7
8
9
10
11
#!/usr/bin/env python
import os
for filename in os.listdir("."):
    if filename.startswith("ebooks"):
        newFilename = filename[16:]
        newFilename = newFilename.replace("2_0","2.0")
        newFilename = newFilename.replace("__039_","'")
        newFilename = newFilename.replace("_.",".")
        newFilename = newFilename.replace("_"," ")
        newFilename = newFilename.replace("  "," - ")
        os.rename(filename, newFilename)

效果:

本来想写个robust的脚本的,即可以带参数,用来指定路径和选择文件。但是就暂时就这样吧,反正目前够用。(惰性?)顺便记一笔,如果加,就要用argparse

–EOF–

CBlog

About Conan1412

博客,好學者;開源,編程,設計,攝影,音樂,算法,人工智能,機器學習,網絡安全。