【问题标题】:Print to terminal window in python在python中打印到终端窗口
【发布时间】:2014-11-02 23:47:38
【问题描述】:

我正在尝试调试我的代码,看看我是否在我应该进入循环的时候进入了循环。我在 Linux 服务器上运行它。 python脚本通过网站执行。我想在终端窗口打印一些东西,让我知道我进入了循环。我一直在尝试:

proc = subprocess.Popen(["echo" + "Statement"])

如何通过python脚本打印到终端窗口?

【问题讨论】:

  • 如果它通过网站运行,听起来不像是连接到 tty。您希望它打印到什么 tty,为什么?
  • 使用日志模块来记录事情。打开一个子进程来运行 echo 不是一个好主意,即使它可以工作......
  • 我希望它打印到 tty2。该脚本正在服务器端运行。该脚本的目的是通过 Web 界面更改静态 IP。我想将脚本中的一个或两个变量打印到屏幕上,以确保传递了正确的变量。如果可以的话。
  • @Wooble 我会调查的。我还没用过那个模块。

标签: python linux terminal


【解决方案1】:

如果您从终端窗口运行服务器,则应该使用休闲 print()。 否则,您需要在某处管道输出,可能是这样的文件

import sys
sys.stdout = open('/tmp/server.log', 'w')

然后在你的终端窗口中做

tail -f /tmp/server.log

它将挂钩到文件并打印任何更改,从而获得您想要的效果。

【讨论】:

  • 这会干扰写入其他文件吗?我写入一个临时接口文件,完成后将其复制到接口。
  • 不,它不应该干扰任何事情。它只会更改打印位置。让我们知道它是否适合您
  • 我无法让它工作。我不确定权限是否会阻止它。
  • print("Statement", file=open("/tmp/server.log","a")) 怎么样?另外,如果您使用的是 python2,请确保添加 from __future__ import print_function
猜你喜欢
  • 1970-01-01
  • 2020-08-15
  • 2021-02-07
  • 1970-01-01
  • 2014-06-18
  • 2014-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多