import os
from subprocess import Popen
pdfs = []
for i in xrange(1, 20):
p = Popen(['htmldoc', '--webpage', '-f', '%d.pdf' % i,
'http://www.djangobook.com/en/2.0/chapter%02d/' % i])
p.wait()
if os.path.exists('%d.pdf' % i):
pdfs.append('%d.pdf' % i)
if len(pdfs) > 0:
cmds = ['pdftk']
cmds.extend(pdfs)
cmds.extend(['cat', 'output', 'all.pdf'])
p = Popen(cmds)
p.wait()
其实 code 很简单,开了 20 个进程使用 htmldoc 将 html 转换成为 pdf,然后使用 pdftk 将几个 pdf 文件合并在一起。
Showing posts with label subprocess. Show all posts
Showing posts with label subprocess. Show all posts
Tuesday, July 26, 2011
一段神奇的 python
代码来源似乎是一个俄国人的 blogger:
Sunday, February 20, 2011
subprocess
subprocess 提供了好几个老 module 的功能,其核心成员就是 Popen 类,其构造函数包括一个命令,一般可以用 raw_input 让用户输入,然后 split 成为一个 arg list。可以指定创建进程的 stdin、stdout 等信息,如果使用 PIPE 可表示创建需要的管道。获得的 Popen 对象含有 stdin、stdout、pid 等信息,可以 wait、toll。
下面是一个简单的 snippet 我们可以看看管道的用法:
下面是一个简单的 snippet 我们可以看看管道的用法:
import subprocess import sys ls = subprocess.Popen( ['ls', '-l'], stdout=sys.stdout) ls.wait()
Subscribe to:
Posts (Atom)