简单python脚本,将jupter notebook的ipynb文件转为pdf(包含中文)

直接执行的python代码ipynb2pdf.py

  1. # coding:utf-8
  2. import sys
  3. import os
  4. import re
  5. import shutil
  6. notebook = sys.argv[1]
  7. texFile = notebook.replace(‘.ipynb‘,‘.tex‘)
  8. # 1.convert .ipynb to latex file .tex
  9. # 将ipynb文件转为tex文件
  10. print ‘1. convert ‘ + notebook + ‘ to ‘ + texFile
  11. print ‘------ \n‘
  12. os.system(r‘jupyter nbconvert --to latex ‘ + notebook)
  13. print ‘convert over‘
  14. # 2. add Chinese support by adding the string below
  15. # 加入引用的包使支持中文(直接转换中文会丢失)
  16. # \usepackage{fontspec, xunicode, xltxtra}
  17. # \setmainfont{Microsoft YaHei}
  18. # \usepackage{ctex}
  19. print ‘2. add Chinese support to .tex file‘
  20. print ‘------‘
  21. file = open(texFile,‘r‘)
  22. str_file = file.read()
  23. strinfo = re.compile(‘(documentclass[\d\D]+\{article\})‘) #查找的字符line0
  24. m=re.findall(strinfo,str_file)
  25. if len(m) == 0:
  26. print r‘can not find documentclass[**pt]{article}‘
  27. sys.exit(1)
  28. str_file = strinfo.sub(‘\\1 \n \\usepackage{fontspec, xunicode, xltxtra} \n \\setmainfont{Microsoft YaHei} \r \\usepackage{ctex}‘,str_file) # 替换的字符line1
  29. file.close()
  30. file = open(texFile,‘w‘)
  31. file.write(str_file)
  32. file.close()
  33. print ‘add Chinese support successed‘
  34. # 3. convert .tex to .pdf by xelatex
  35. # 使用xelatex命令编译.tex文件得到pdf
  36. print ‘3. convert tex to pdf‘
  37. print ‘------‘
  38. os.system(‘xelatex ‘ + texFile)
  39. print ‘convert pdf successed‘
  40. # 4. delete the auxiliary files
  41. # 清理生成的中间文件
  42. # change there if latex file is needed
  43. print ‘4. delete auxiliary files‘
  44. print ‘------‘
  45. os.remove(notebook.replace(‘.ipynb‘,‘.aux‘))
  46. os.remove(notebook.replace(‘.ipynb‘,‘.log‘))
  47. os.remove(notebook.replace(‘.ipynb‘,‘.out‘))
  48. # change there if latex file is needed
  49. os.remove(notebook.replace(‘.ipynb‘,‘.tex‘))
  50. if os.path.isdir(notebook.replace(‘.ipynb‘,‘_files‘)):
  51. shutil.rmtree(notebook.replace(‘.ipynb‘,‘_files‘))
  52. print ‘delete auxiliary files successed‘

调用方式

  1. 在当前目录中打开命令行(目录中要有ipynb2pdf.py 与 .ipynb文件)
  2. 输入命令

    python ipynb2pdf.py yourFilename.ipynb

打包为exe(可以忽略)

使用pyinstaller打包为exe,作为命令行命令

pyinstaller -F ipynb2pdf.py

生成的exe放入系统path目录的文件夹下即可直接通过命令的形式处理

调用时在.ipynb所在的文件夹下打开命令行,输入命令

ipynb2pdf yourFilename.ipynb

null

时间: 2025-01-05 19:40:03

简单python脚本,将jupter notebook的ipynb文件转为pdf(包含中文)的相关文章

简单python脚本

简单python脚本: 注:1.python 变量不需要$2.for里面的print需要前空2格3.range(2,9)不包括9 vi aa.py #!/usr/bin/python i=5print i i=i+1print i a=6b=5c=a * bprint c for a in range(2,9):print a :wq python aa.py 原文地址:http://blog.51cto.com/yangzhiming/2122703

python脚本删除n天之前的文件

管理Linux经常用到python脚本,然后写了脚本后,经常为了生成的文件占用磁盘空间而犯愁,这些写个函数以方便以后使用: def rmdaybefore(pfile, days):     """     Delete pfile diectory days before files below     :param pfile: local path     :param days: before days     :return: a list os.listdir p

测试网站页面网速的一个简单Python脚本

[[email protected] mnt]# cat pycurl.py #!/usr/bin/python# coding: UTF-8import StringIO,pycurl,sys,os,time class idctest:    def __init__(self):          self.contents = ''    def body_callback(self,buf):          self.contents = self.contents + buf d

python爬虫简单实现,并在java中调用python脚本,将数据保存在json文件中

# coding:utf-8 import urllib2 from bs4 import BeautifulSoup import json import sys reload(sys) sys.setdefaultencoding('utf-8') class dataBean(object) : def __init__(self, title, url,date): self.date = date self.url = url self.title = title def obj_2_

python脚本 从第二行开始读取 文件读取 跳过第一行 跳过前几行

这个其实很简单,看样例 #!/usr/bin/python # -*- coding: utf-8 -*- fo = open("test.txt", "r+") next(fo) for line in fo: print line.strip() 参考:python学习笔记-- 从第二行开始读文件 原文地址:http://blog.51cto.com/weiruoyu/2342386

[转载]python脚本删除一定时间以外的文件

1 import os; 2 import sys; 3 import time; 4 5 class DeleteLog: 6 def __init__(self,filename,days): 7 self.filename=filename; 8 self.days=days; 9 10 def delete(self): 11 if os.path.exists(self.filename)==False: 12 print(self.filename+ ' is not exists!

Python脚本:linux上将筛选的文件夹复制到另一个目录,保存目录结构

import os,shutil def newDir(dir_path): if not os.path.exists(dir_path): os.makedirs(dir_path) def copydir(where_path,go_path,start_time,end_time): newDir(go_path) for brand in os.listdir(where_path): brand_path = os.path.join(where_path, brand) #prin

shell脚本--在带本月日期的文件中搜索包含某个关键字,并返回含有关键字的文件

因为工作中每天都需要根据某个关键字,在包含每天日期的一批文件中搜索某个关键字,找出这批文件中包含关键字的文件,并返回文件名.本程序涉及:find命令,date命令,if循环,$符号的意义(本程序涉及在bash脚本和命令行中意义) 脚本名为h.sh,脚本运行:例如:我们想搜索jack在不在本月的黑名单中,就这样执行脚本:sh h.sh jack, # cat h.sh 1 #!/bin/sh 2 sdate=`date +%Y%m` 3 dir=`find ./ -name "BLACKLIST_

.ipynb文件与.py文件之间的切换互用

参考:https://www.bbsmax.com/A/MAzAOpPn59/一.jupyter notebook里ipynb文件转为py文件 法一: 在xxx.ipynb所在目录下,打开终端,并输入命令:   jupyter nbconvert --to script xxx.ipynb 其中xxx.ipynb是要转换文件的名字,转换后在该目录下出现xxx.py文件. 法二: 启动Jupyter notebook 在网页下找打ipynb文件,然后选择file--download as--pyt