Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
cygwin运行命令而不是cmd python_Python_Cygwin_Cmd_Subprocess - Fatal编程技术网

cygwin运行命令而不是cmd python

cygwin运行命令而不是cmd python,python,cygwin,cmd,subprocess,Python,Cygwin,Cmd,Subprocess,我有一个pythongui,我想运行一个shell命令,但不能使用windowscmd 我已经安装了cygwin,我想知道如何运行cygwin而不是windows cmd。我想使用subprocess并获得.sh文件的结果 但是我的代码 subprocess.check_output("./listChains.sh < 2p31protein.pdb") subprocess.check_输出(“./listschains.sh

我有一个pythongui,我想运行一个shell命令,但不能使用windowscmd 我已经安装了cygwin,我想知道如何运行cygwin而不是windows cmd。我想使用subprocess并获得.sh文件的结果 但是我的代码

subprocess.check_output("./listChains.sh < 2p31protein.pdb")
subprocess.check_输出(“./listschains.sh<2p31protein.pdb”)
这将在cmd中运行它,由于windows无法识别它,它将无法工作,因此如何让它在cygwin中而不是在cmd中运行(例如,
bash
),并让它运行脚本,而不是直接运行脚本:

subprocess.check_output("C:/cygwin/bin/bash.exe ./listChains.sh < 2p31protein.pdb")
subprocess.check_输出(“C:/cygwin/bin/bash.exe./listChains.sh<2p31protein.pdb”)

或者,将要打开的
.sh
文件类型扩展与
bash.exe

关联,使用python子进程运行cygwin可执行文件需要在Windows路径上具有
cygwin1.dll
的./bin目录
cygwin1.dll
向Windows公开cygwin可执行文件,允许它们在Windows命令行中运行,并由Python子进程调用