標籤:
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_pool19 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 return26 print ‘found these source code files:‘27 for dest in dests:28 print dest29 print ‘begin generate ps files!‘30 for dest in dests:31 command = ‘‘.join([vim_cmd, dest])32 print command33 os.system(command)34 for dest in dests:35 command = ps2pdf_cmd.format(filename=dest)36 print command37 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\n‘ 44 ‘such as: python code2pdf.py /home/bruce/python .py‘
convert source code to pdf in python