1.背景


  最近学习中国大学MOOC的课程,想把课程的pdf下载下来本地保存并浏览。工具: Setup-Mooc-3.4.0.exe

  但是,却发现所下载的文档在不同的文件夹里,浏览很不方便。于是写个脚本复制粘贴课件到指定位置。

2.工作


2.1 获取指定目录中所下载的文件名
files=[]
#获取指定目录下的文件名
def get_file_dir(dir):
if os.path.isdir(dir):
for item in os.listdir(dir):
if item!='System Volume Information':#windows下没权限删除的目录:可在此添加更多不判断的目录
get_file_dir(os.path.join(dir, item))
else:
files.append(dir)
path=r'C:\Users\Administrator\Downloads\Programs\学无止下载器-v1.1.0\Download'
get_file_dir(path)
2.2 粘贴复制并重命名文件
course='离散数学 北交大 刘铎'
#newpath=r''+'\\'+course #合并的文件存放位置
new_path=r''+'\\'+course+'\课件' #复制的文件存放位置
for file in files:
old_name=os.path.split(file)[1]
new_name=re.sub('[()--—_课件]','',old_name)
shutil.copy(file,os.path.join(new_path,new_name))
2.3 文件合并
def mergepdf(new_path,course,newpath):
pdfs=os.listdir(new_path)
merger = PdfFileMerger()
for pdf in pdfs:
merger.append(open(os.path.join(new_path,pdf), 'rb'))
with open(newpath+'\\'+course+'.pdf', 'w+') as fout:
merger.write(fout)

  值得注意的是,这里程序会报错,如下:

  在网上看到一些文章提及编码方式改成“GBK”,可在一定程度上解决问题(但也可能出现乱码)。这里没有尝试,我直接用Adobe Arcobat Pro DC合并。

2.4 结果

3.最后


  对于本脚本,我后来进行了优化(文件夹新建、命令行输入参数),下载链接:mooc_pdf_cmd

若有问题,请私信我。

最新文章

  1. js中的位运算
  2. break continue 区别 以及实例
  3. 高级php面试题
  4. [译]C++, Java和C#的编译过程解析
  5. salesforce 零基础学习(三十六)通过Process Builder以及Apex代码实现锁定记录( Lock Record)
  6. cxf的soap风格+spirng4+maven 客户端
  7. 学习练习 java 验证码练习
  8. 2015南阳CCPC G - Ancient Go 暴力
  9. tar解压去除文件夹
  10. C#创建、安装一个Windows服务
  11. [译]Java 设计模式之适配器
  12. python中常见的三种句型if,while,for
  13. Redis数据结构简介
  14. CentOS7.4下部署hadoop3.1.1
  15. JavaScript 对象(上)
  16. Selenium Webdriver 中的 executeScript 使用方法
  17. 并发连接MySQL
  18. 简单贪心) Repair the Wall hdu2124
  19. 如何让其他电脑访问到自己的Django项目
  20. BZOJ1059或洛谷1129 [ZJOI2007]矩阵游戏

热门文章

  1. 组件文档系统-md-react-styleguidist
  2. 正则表达式入门教程&&经典Javascript正则表达式
  3. 【GStreamer开发】GStreamer基础教程14——常用的element
  4. Python机器学习基础教程-第1章-鸢尾花的例子KNN
  5. 洛谷 题解 UVA247 【电话圈 Calling Circles】
  6. Asp.Net Core中完成拒绝访问功能
  7. TCP/IP学习笔记7--TCP/IP模型通信例子学习
  8. GraphHopper-初识
  9. http GET 和 POST 请求的优缺点、区别以及误区
  10. IAR_EW_MSP430下载