首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在函数中使用os.system()

在函数中使用os.system()
EN

Stack Overflow用户
提问于 2017-04-20 01:08:52
回答 1查看 371关注 0票数 1

我使用os.system命令在python中运行一个非python程序,但我将该命令放在一个函数中。我想用os.system运行的程序应该给我一个输出文件,我需要这个输出来进行处理,我还需要把这个输出实际写入我要发送到的目录中。

我写的函数的一般格式如下

代码语言:javascript
复制
def myFunction(infile):
    os.system('myProgram '+infile+' '+outfileName)
    outfile = numpy.loadtxt(outfileName)
    return outfile

但是,myProgram (outfileName)的输出没有写入到我的目录中,因此numpy无法加载它。有没有办法存储我在函数中使用os.system运行的程序的全局输出?

EN

回答 1

Stack Overflow用户

发布于 2017-04-20 01:16:19

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

假设infileoutfileName是当前工作目录中的相对路径,您可以这样做:

代码语言:javascript
复制
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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43502004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档