![](/img/trans.png)
[英]Python: Executing the windows command in windows command prompt from python script
[英]Python: executing a complex command on windows
我在Windows上運行命令時遇到問題,而在Linux上卻可以正常運行。
我為您提供了上下文,但這不是理解我的問題所必需的:我在批處理模式下使用gimp。
我有一個Python腳本調用callPythonFuScript.py
,它調用另一個Python腳本pythonFu.py
,該腳本執行一個python-fu調用。
在callPythonFuScript.py
,當我在pythonFu.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不同。 這個對嗎? 我該如何解決這個問題?
如注釋中所述,您在命令提示符下將其視為參數與將其作為文字字符串傳遞給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\")'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.