zoukankan      html  css  js  c++  java
  • MOOC下载器的文档整理

    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:UsersAdministratorDownloadsPrograms学无止下载器-v1.1.0Download'
    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)
    

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

    TIM截图20191008184251.png

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

    2.4 结果

    TIM截图20191008190837.png

    3.最后


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

    若有问题,请私信我。

  • 相关阅读:
    特殊字符大全
    ASP執行文件下載
    在 Access 里使用查询建立 存储过程/视图, 并使用 ASP 执行
    通過windows的排定工作來執行存儲過程
    前台页面中用js取得eWebEditor的值
    IE7外觀優化
    电话订票
    在BIOS设置“扩展或板载”显卡的方法
    子窗口中操作父窗口对像(javascript)(转)
    mailto用法
  • 原文地址:https://www.cnblogs.com/sc340/p/11870804.html
Copyright © 2011-2022 走看看