【发布时间】:2011-07-28 17:09:19
【问题描述】:
我正在使用 pexpect 和 python 创建一个程序,该程序允许用户通过网站与 FORTRAN 程序进行交互。从 FORTRAN 程序我收到错误:
open: Permission denied apparent state: unit 4 named subsat.out.55 last format: list io lately writing sequential formatted external IO 55
当我尝试:
p = pexpect.spawn(myFortranProgram,[],5)
p.logfile_read = sys.stdout
p.expect("(.*)")
p.sendline("55")
据我了解,我可能会将 55 发送到错误的输入单元。如何在 Python 中使用 pexpect 正确地将输入发送到 FORTRAN 程序?
谢谢。
编辑:当 p.sendline 的参数为空(例如 p.sendline())或仅包含空格时,程序按预期进行。在向 FORTRAN 程序发送非空格值时,我是否需要以某种方式指定输入格式?
【问题讨论】:
-
这没什么好说的。如果您需要更多帮助,您需要提供更多关于您的程序以及您如何使用它们的数据,尤其是 Fortran 程序期望如何获取数据。
-
关于 pexepect 很重要的一点:它只能在 linux 下运行。有一个 windows 端口,但我遇到了很多问题让它在我的盒子上运行。
标签: python fortran stdout stdin pexpect