【发布时间】:2014-02-04 19:16:45
【问题描述】:
目前我正在开发一个小项目,我想在其中使用 Apache 和 Python 从本地网络服务器执行一些 shell 命令。
我想执行这个命令(显示连接到服务器的设备的 ip)并将其输出分配给 Python 中的变量:
grep -o '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' access.log
当我在终端中输入这个时,它会正确显示 Ip。但我想在一个看起来像这样的python脚本中执行这个命令:
import os
print "Content-type:text/html\r\n\r\n"
print '<html>'
print '<head>'
print '<title>Connected devices</title>'
print '</head>'
print '<body>'
print '<h2>Conected Devices</h2>'
f = os.popen("grep -o '^[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' access.log")
now = f.read()
print now
print '</body>'
print '</html>'
当我从我的服务器调用 python 脚本时,我只能看到标题(连接的设备)。你知道哪个可能是我的问题吗?
提前致谢
【问题讨论】:
-
你能显示你的 access.log 文件吗?