作为一个对管道和Python的新手,我最近遇到了一个问题,试图用Python的子进程moudle将Cygwin的stdin&stdout导入Python程序。
例如,我选择了一个简单的程序:
cygwin = subprocess.Popen('PathToCygwin',shell=False,stdin=subprocess.PIPE,stdout=subprocess.PIPE)
cygwin.stdin.write('ssh')
在那之后,我得到了一个错误:
^{pr2}$
我做错什么了?在
Tags:
好吧,你的文字代码行不通。您正在传递一个值为'PathToCygwin'的字符串,但这不会起任何作用。我认为你传递的是一个更好的字符串,但你没有告诉我们什么。在
我想你的路径可能是问题所在。如果你不把这条路弄好,它就行不通了。在
这是我的测试代码。我在Cygwin版本的Python下运行了这个,所以我使用了Cygwin样式的路径:而不是
r"C:\cygwin\bin\bash.exe"
我使用了/cygdrive/c
路径:再次,我在Cygwin编译的Python版本中运行了这个。如果使用的是Windows原生版本的Python,则可能需要使用
C:
路径。在如果你还在使用Python的代码,请告诉我们你到底在使用哪个版本的代码?在
相关问题 更多 >
编程相关推荐