运行 python GIMP
Running python GIMP
我有一个脚本 blackandwhite.py 放在 "C:\Users\Marcin.gimp-2.8\plug-ins" 文件夹中。它需要两个目录作为参数。从 GIMP 菜单或 python-fu 控制台执行时,它工作得很好:
pdb.python_fu_black_and_white("L:\PICS", "L:\OUT");
但是,当我尝试通过
从命令行执行它时
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b "from gimpfu import *;pdb.python_fu_black_and_white(0,"L:\PICS", "L:\OUT")" -b "pdb.gimp_quit(1)"
给出"batch command experienced an execution error"。
有人知道如何正确操作吗?
查看您的命令在 Stack Overflow 上突出显示的语法方式。
我把它包起来,这样更容易看到:
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b \
"from gimpfu import *;pdb.python_fu_black_and_white(0,"L:\PICS", "L:\OUT")" \
-b "pdb.gimp_quit(1)" # ^ ^
# here and here
你在嵌套双引号。您需要转义它们,或者更好的是,用单引号替换一组:
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b \
'from gimpfu import *;pdb.python_fu_black_and_white(0,"L:\PICS", "L:\OUT")' \
-b "pdb.gimp_quit(1)"
在Windows中,最简单的方法是用双引号将CMD.EXE标记括起来,Python代码使用单引号(*):
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b "from gimpfu import *;pdb.python_fu_black_and_white(0,'L:/PICS', 'L:/OUT')" -b "pdb.gimp_quit(1)"
您可以通过使用正斜杠作为文件分隔符来避免很多问题,Windows 除了命令行参数之外的任何地方都接受它们(但这里它们在 Python 字符串中)。
此外,如果您只是批量使用脚本,则无需将脚本注册为插件。有关示例代码,请参阅 。
(*) 在 Linux/macOS 中,做相反的事情:在命令行参数周围使用单引号,Python 字符串使用双引号。
我有一个脚本 blackandwhite.py 放在 "C:\Users\Marcin.gimp-2.8\plug-ins" 文件夹中。它需要两个目录作为参数。从 GIMP 菜单或 python-fu 控制台执行时,它工作得很好:
pdb.python_fu_black_and_white("L:\PICS", "L:\OUT");
但是,当我尝试通过
从命令行执行它时gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b "from gimpfu import *;pdb.python_fu_black_and_white(0,"L:\PICS", "L:\OUT")" -b "pdb.gimp_quit(1)"
给出"batch command experienced an execution error"。 有人知道如何正确操作吗?
查看您的命令在 Stack Overflow 上突出显示的语法方式。
我把它包起来,这样更容易看到:
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b \
"from gimpfu import *;pdb.python_fu_black_and_white(0,"L:\PICS", "L:\OUT")" \
-b "pdb.gimp_quit(1)" # ^ ^
# here and here
你在嵌套双引号。您需要转义它们,或者更好的是,用单引号替换一组:
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b \
'from gimpfu import *;pdb.python_fu_black_and_white(0,"L:\PICS", "L:\OUT")' \
-b "pdb.gimp_quit(1)"
在Windows中,最简单的方法是用双引号将CMD.EXE标记括起来,Python代码使用单引号(*):
gimp-console-2.8.exe -df --batch-interpreter python-fu-eval -b "from gimpfu import *;pdb.python_fu_black_and_white(0,'L:/PICS', 'L:/OUT')" -b "pdb.gimp_quit(1)"
您可以通过使用正斜杠作为文件分隔符来避免很多问题,Windows 除了命令行参数之外的任何地方都接受它们(但这里它们在 Python 字符串中)。
此外,如果您只是批量使用脚本,则无需将脚本注册为插件。有关示例代码,请参阅
(*) 在 Linux/macOS 中,做相反的事情:在命令行参数周围使用单引号,Python 字符串使用双引号。