I usually execute a Fortran file in Linux (manually) as:
- Connect to the server
- Go to the specific folder
ifort xxx.for -o xxx && ./xxx(where 'xxx.for' is my Fortran file and 'xxx' is Fortran executable file)
But I need to call my fortran file (xxx.for) from python (I'm a beginner), so I used subprocess with the following command:
cmd = ["ssh", sshConnect, "cd %s;"%(workDir), Fortrancmd %s jobname "%s -o %s" exeFilename "%s && %s ./ %s%s"%(exeFilename)] But I get an error, and I'm not sure what's wrong. Here's the full code:
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 How can I write a python program that performs all 3 steps described above and avoids the error I'm getting?