【发布时间】:2010-11-17 01:13:41
【问题描述】:
我通常在 Linux 中(手动)执行一个 Fortran 文件:
- 连接到服务器
- 转到特定文件夹
-
ifort xxx.for -o xxx && ./xxx(其中 'xxx.for' 是我的 Fortran 文件,'xxx' 是 Fortran 可执行文件)
但我需要从 python 调用我的 fortran 文件 (xxx.for)(我是初学者),所以我使用 subprocess 和以下命令:
cmd = ["ssh", sshConnect, "cd %s;"%(workDir), Fortrancmd %s jobname "%s -o %s" exeFilename "%s && %s ./ %s%s"%(exeFilename)]
但我收到一个错误,我不确定出了什么问题。完整代码如下:
import string
import subprocess as subProc
from subprocess import Popen as ProcOpen
from subprocess import PIPE
import numpy
import subprocess
userID = "pear"
serverName = "say4"
workDir = "/home/pear/2/W/fortran/"
Fortrancmd = "ifort"
jobname = "rad.for"
exeFilename = "rad"
sshConnect=userID+"@"+servername
cmd=["ssh", sshConnect, "cd %s;"%(workDir), Fortrancmd %s jobname "%s -o %s" exeFilename "%s && %s ./ %s%s"%(exeFilename)]
**#command to execute fortran files in Linux
**#ifort <filename>.for -o <filename> && ./<filename> (press enter)
**#example:ifort xxx.for -o xxx && ./xxx (press enter)
print cmd
如何编写一个 python 程序来执行上述所有 3 个步骤并避免我遇到的错误?
【问题讨论】:
标签: python ssh subprocess