我正在为Xfoil编写一个包装器,我的第一个命令集是:
commands=[]
commands.append('plop\n')
commands.append('g,f\n')
commands.append('\n')
commands.append('load '+ afile+'\n')
commands.append('\n')
#commands.append('ppar\n');
#commands.append('n %g\n',n);
commands.append('\n')
commands.append('\n')
commands.append('oper\n')
commands.append('iter '+ str(iter) + '\n')
commands.append('visc {0:f}\n'.format(Re))
commands.append('m {0:f}\n'.format(M))
我与xfoil的互动如下:
^{pr2}$但是,Xfoil.stdin.write公司正在被阻止与程序交互--xfoil.exe文件--作为Xfoil.stdin.write公司(i) 返回一个None。在
在第一个命令(即plop
我如何解决这个问题?在
要发送多个命令,可以use ^{} method 发送命令、关闭管道并等待子进程完成:
^{cd2>}在代码中等待可执行文件在第一个命令之后完成。关闭管道(^{cd3>})表示EOF,否则,如果^{{cd4>}读取,则可能会发生死锁,直到EOF(否则没有命令使其退出)。
解决方法是增加Xfoil.stdin.关闭();关闭缓冲区允许程序继续。在
寻求帮助了解原因Xfoil.stdin.关闭需要添加()。如何关闭缓冲区xfoil.exe文件继续吗?在
相关问题 更多 >
编程相关推荐