使用操作系统()函数内部

2024-04-19 23:26:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个用python运行的非python程序操作系统命令,但我把这个命令放在函数中。我想运行的程序操作系统应该给我一个输出文件,我需要这个输出进行处理,同时我需要把这个输出实际写入我要发送到的目录中。在

我写的函数是下面的通用格式

def myFunction(infile):
    os.system('myProgram '+infile+' '+outfileName)
    outfile = numpy.loadtxt(outfileName)
    return outfile

但是,myProgram(outfileName)的输出没有写入到我的目录中,因此numpy无法加载它。有没有一种方法可以全局存储我运行的程序的输出操作系统当它在函数内部时?在


Tags: 文件函数命令程序numpy目录osdef
1条回答
网友
1楼 · 发布于 2024-04-19 23:26:44

假设myProgram工作正常,这很可能是因为myProgram不知道python路径,所以该文件只是在其他地方写的。尝试使用完整的路径,看看是否有效。在

假设infile和{}是当前工作目录中的相对路径,则可以执行以下操作:

def myFunction(infile):
    cmd  = 'myProgram ' + os.path.join(os.getcwd(), infile)
    cmd += ' ' + os.path.join(os.getcwd(), outfileName))
    os.system(cmd)
    outfile = numpy.loadtxt(outfileName)
    return outfile

相关问题 更多 >