2

我在 Windows 上运行命令时遇到问题,而它在 Linux 上运行良好。

我给你上下文,但这不是理解我的问题所必需的:我在批处理模式下使用 gimp。

我有一个 Python 脚本callPythonFuScript.py,它调用另一个 Python 脚本pythonFu.py,它执行一个 python-fu 调用。

callPythonFuScript.py,我在调用里面的函数时构造命令行pythonFu.py来执行。这是命令行:

gimp-console-2.8 -idf --batch-interpreter python-fu-eval -b 'import sys;sys.path=['.']+sys.path;import pythonFu;pythonFu.myFunction("arg1","arg2","arg3") ' -b 'pdb.gimp_quit(1)'

此命令在 Linux 上运行良好,但当我尝试在 Windows 上运行它时,它不起作用。

错误消息是:

The opening of C:\Users\myRep\sys; failed : no such file or directory
The opening of C:\Users\myRep\sys.path=['.']+sys.path; failed : no such file or directory
The opening of C:\Users\myRep\"arg1","arg2","arg3")' failed no such file or directory

我假设 Windows 对字符的解释与 Linux 不同。这个对吗?我该如何解决这个问题?

4

1 回答 1

0

如评论中所述,您在命令提示符视为参数的内容与作为 python 的文字字符串传递给 eval 的内容之间存在转义问题:

-b 'import sys;sys.path=["."]+sys.path;import pythonFu;pythonFu.myFunction("arg1","arg2","arg3")'

如果这仍然给您带来错误,您可能需要转义双引号:

-b 'import sys;sys.path=[\".\"]+sys.path;import pythonFu;pythonFu.myFunction(\"arg1\",\"arg2\",\"arg3\")'
于 2012-08-29T17:59:49.507 回答