【发布时间】:2014-06-06 19:49:30
【问题描述】:
所以我知道如何执行 python 脚本并使用 os.command 甚至子进程在命令窗口中输出。我也知道将输出捕获到文本文件是通过 os.command('my command > me.txt".
我的问题是: 有没有办法用一个命令来做这两个?即执行python脚本,将输出捕获到文本文件并显示在命令窗口上?
如果这不可能,这是另一个问题: 我要执行的命令最多需要 8 分钟才能完成,并在文本文件中最多写入 300 行。我可以在命令仍在执行时访问文本文件以便在不等待命令完成执行的情况下获取一些数据吗?例如每 1 分钟访问一次文本文件?
如果两者都不可能,那么这也可以完成工作: 当我的命令成功执行时,它会在 cmd 以及许多其他行上打印出 Done 语句。如果打印了“Done”字符串或者需要在文本文件中捕获它以使该搜索发生,我可以签入 cmd 吗?
【问题讨论】:
-
您是在谈论将子进程的结果打印到文件和标准输出,还是指的是 python 文件本身的所有输出?这是两个完全不同的问题。要重定向所有 python 执行输出,请查看这篇文章:stackoverflow.com/questions/14906764/…
-
你试过这个
./script.py > output.txt | type output.txt吗? -
鲍勃,我说的是把子进程的结果打印到文件和标准输出而不是 python 文件的打印输出
-
Pvel,每次我运行你的命令都会崩溃。它在 cmd 和文本文件中打印第一 2 行,然后崩溃
-
也许您可以将
stdout替换为this 答案中描述的类的实例。
标签: python python-2.7 command-line cmd window