2016-11-07 54 views
0

如何在Windows命令行中使用Python調用ImageMagick的​​3210以下命令?使用Python通過Windows命令行在特定的.gif上調用`ImageMagick`s` -coalesce`

目前,我正在使用以下行切換到桌面目錄,然後在桌面上存在的.gif文件(「on.gif」)上運行ImageMagick的「合併」功能。此命令打破了.gif文件導入(off0.png,off1.png,off2.png,...)保存到桌面上單獨的幀

os.system('cd C:\...\Desktop') 
os.system('convert on.gif -coalesce off%d.png') 

,但它給我一個錯誤:convert: no images defined 'off%d.gif' @ error/convert.c/COnvertImageCommand/3235。當我在Windows shell中運行這個命令時,它工作正常。我認爲錯誤在於我如何將%標誌傳遞給Windows命令行。

+0

我的答案是否解決了您的問題?如果是這樣,請考慮接受它作爲您的答案 - 通過點擊投票計數旁邊的空心綠色勾號/複選標記。如果沒有,請說出什麼不起作用,以便我或其他人可以進一步幫助您。謝謝。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work/5235#5235 –

回答

1

每個os.system()開始一個新的,單獨的過程。因此,在第一個目錄中更改目錄並且然後啓動另一個在不同目錄中運行的進程是沒有用的。

相反,您需要更改目錄,做你的命令,在同一過程是這樣的:

os.system('cd somewhere && convert something ...') 

如果您somehwere中有空格,則需要它括在雙引號:

os.system('cd "C:\Users\path with space" && convert ...') 

如果Python不知道路徑ImageMagick的convert,你將需要把完整路徑明確,是這樣的:

os.system('cd somewhere && "C:\Programs X86\Imagemagick7.0.2\convert" ... ') 
+0

這是有幫助的,我不知道。我仍然收到上面提到的「無圖像定義」錯誤。 – AaronJPung

+0

你的目錄或文件名有空格嗎?如果是這樣,你需要雙引號('「...」')在他們周圍。 –

+0

此外,您可能沒有正確設置PATH,以便'python'可以找到'convert.exe',因此您可能需要完整路徑,例如''C:\ Programs X86 \ ImageMagick \ bin \ convert「。 。東西' –

相關問題