我在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不同。它是否正确?我该如何解决这个问题?
答案 0 :(得分: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\")'