zoukankan      html  css  js  c++  java
  • convert source code files to pdf format in python

     1 import os
     2 import sys
     3 
     4 def find_file(root_dir, type):
     5     dirs_pool = [root_dir]
     6     dest_pool = []
     7 
     8     def scan_dir(directory):
     9         entries = os.walk(directory)
    10         for root, dirs, files in entries:
    11             dirs_pool.extend([os.path.join(root, dir_entry) for dir_entry in dirs])
    12             for file_entry in files:
    13                 if type in str(file_entry)[-len(type):]:
    14                     dest_pool.append(''.join(os.path.join(root, file_entry)))
    15 
    16     while dirs_pool:
    17         scan_dir(dirs_pool.pop())
    18     return dest_pool
    19 
    20 def gen_ps(root_dir, type):
    21     vim_cmd = 'vim -me -e -c ":hardcopy >%.ps" -c ":q" '
    22     ps2pdf_cmd = 'ps2pdf {filename}.ps {filename}.pdf'
    23     dests = find_file(root_dir, type)
    24     if not dests:
    25         return
    26     print 'found these source code files:'
    27     for dest in dests:
    28         print dest
    29     print 'begin generate ps files!'
    30     for dest in dests:
    31         command = ''.join([vim_cmd, dest])
    32         print command
    33         os.system(command)
    34     for dest in dests:
    35         command = ps2pdf_cmd.format(filename=dest)
    36         print command
    37         os.system(command)
    38 
    39 if __name__ == '__main__':
    40     if len(sys.argv) == 3:
    41         gen_ps(sys.argv[1], sys.argv[2])
    42     else:
    43         print 'usage: python code2pdf.py directory filetype
    ' 
    44               'such as: python code2pdf.py /home/bruce/python .py'
  • 相关阅读:
    程序员必备工具之Cmder
    Markdown简明教程
    几种黑灰名词解释
    windows下 mysql启动错误1067进程意外终止
    Mac OS 安装redis
    java里的这些
    maven 两条命令建立 web项目
    判断StringBuilder是否为空
    map与list的交集、补集操作
    关于创业
  • 原文地址:https://www.cnblogs.com/ydlme/p/4330913.html
Copyright © 2011-2022 走看看