UN4*_*UN4 3 python terminal output abaqus
运行 abaqus nogui python 脚本时,我想将脚本的状态输出到终端。但是当我这样做时,例如:
print("Opening ODB...")
print("Plotting images...")
Run Code Online (Sandbox Code Playgroud)
我也试过:
print "Opening ODB..."
print "Plotting images..."
Run Code Online (Sandbox Code Playgroud)
和
sys.stdout.write("Opening ODB...")
sys.stderr.write("Plotting images...")
Run Code Online (Sandbox Code Playgroud)
没有任何东西输出到终端。尽管如此,我的代码运行良好,并完成了它应该做的一切。
有没有人有任何想法如何解决这个问题?
Abaqus 自动将标准输出重新定义为它自己的自定义对象。准确地说,标准输出被设置为abaqus.AbaqusStdout. 例如,如果您要写入str(sys.stdout)文件,这就是您将获得的结果。
但是,Python 标准输出的原始定义存储在sys.__stdout__. 您可以使用它再次重新定义标准输出或直接使用它来写入。
由于 Abaqus 安装使用的是早于 2.7 的 Python,您可以编写
import sys
print >> sys.__stdout__, 'Opening ODB'
Run Code Online (Sandbox Code Playgroud)
为了使它更干净,只需创建一个函数,例如log,它将为您完成肮脏的工作,然后只编写log('some message').
一旦您知道标准输出的定义,您还可以通过其他方式进行日志记录,但这取决于您的探索。
| 归档时间: |
|
| 查看次数: |
3121 次 |
| 最近记录: |