JPG到PDF Nautilus脚本(使用ImageMagick)

时间:2012-09-03 16:52:34

标签: python imagemagick nautilus

在搜索一个没有成功之后,我决定制作自己的脚本,将选定的JPEG文件转换为一个PDF。

这是代码(用Python制作):

#!/usr/bin/env python
import os

n = " ".join(os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].splitlines())

os.system("convert " + n + " out.pdf")

此脚本的问题在于,如果要转换的文件位于名称中包含空格的目录(假设为/home/myuser/My Photos/1/),则该脚本无效。

有什么方法可以解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

n = " ".join("'%s'" % f for f in os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].splitlines())

请记住清理文件名,否则恶意制作的名称可以使脚本在我们的计算机上执行代码。

更好的是,使用subprocess模块而不是os.system()

subprocess.call ([ "convert" ] + os.environ["NAUTILUS_SCRIPT_SELECTED_FILE_PATHS"].splitlines() + [ "out.pdf" ])