2012-11-23 41 views
2

我有一個python GUI,我想運行一個shell命令,你不能使用Windows cmd 我已經安裝了cygwin,我想知道如何去運行cygwin而不是windows cmd。我想用子並獲得sh文件 的結果,但cygwin運行一個命令,而不是cmd python

subprocess.check_output("./listChains.sh < 2p31protein.pdb") 

這將在cmd中運行它,我的代碼和Windows將無法識別它,它不會工作,所以,我怎麼能得到另外

subprocess.check_output("C:/cygwin/bin/bash.exe ./listChains.sh < 2p31protein.pdb") 

,該.sh文件類型擴展名關聯打開:它在Cygwin的,而不是CMD

回答

2

運行執行cygwin外殼(例如bash),並已將其運行腳本,而不是直接運行腳本w^ith bash.exe

1

使用python子進程運行cygwin可執行文件需要將具有cygwin1.dll的./bin目錄放在Windows路徑中。 cygwin1.dll將cygwin可執行文件暴露給Windows,允許它們在Windows命令行中運行,並由Python子進程調用。

相關問題