首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Python Web中执行代码

在Python Web中执行代码
EN

Stack Overflow用户
提问于 2015-03-20 13:36:12
回答 1查看 42关注 0票数 0

我正在创建一个网页,该网页将显示我的网络中可用的SSID

为此,我使用了以下代码:

nm-tool | grep "Infra“| cut -d”“-f5 > /home/nunukene/SSID3.txt

我将其保存到一个名为SSID3的文件中,以便稍后使用open()、read()和str.split打开它

我的问题是,我想要在页面中执行的代码不会被执行,也不会创建SSID3.txt文件

这是到目前为止我的网站代码:

代码语言:javascript
复制
#!/usr/bin/python
import os
import subprocess
import cgitb

cgitb.enable()

a=os.system("""nm-tool | grep "Infra"  | cut -d " " -f5 > /home/nunukene/SSID3.txt""")

#SSIDStr = subprocess.check_output('nm-tool | grep "Infra" | cut -d " " -f5-6', shell=True)
#SSIDArray = str.split(SSIDStr)


ID = subprocess.check_output('ls', shell=True)
a='devilman'
print "Content-type:text/html\r\n\r\n"

print "<!DOCTYPE html>"
print "<html>"
print "<title> Not Hacking lol</title>"
print "<body>"
print "<h1> Join %s One of this networks <h1>" %(a)
print "</body>"
print "</html>" 

我不知道如何让这个过程在其他过程之前工作!

EN

回答 1

Stack Overflow用户

发布于 2015-03-20 14:11:22

  • 我强烈建议您使用日志记录模块来帮助您诊断问题所在。
  • 您的子进程调用不起作用的一个原因是,您需要将命令的所有参数列出一个列表。

SSIDStr =subprocess.check_output(‘nm工具’,'|','grep','“基础"','|',‘剪切’,'-d',‘”“’,'-f5')

(我不确定您是否必须转义此字符串中的双引号)

  • 以这种方式使用子过程调用可以避免使用文本文件以及web服务器用户可能遇到的写入文件的权限问题。

  • 您正在重写"a“变量,并且您在输出中没有使用文本文件。

  • 和我希望cgitb.enable()行不是问题所在。以前没见过这样的情况。你有没有想过使用Flask?

  • 如果你使用的是python 3,那么打印语句必须是函数。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29160071

复制
相关文章

相似问题

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