0

嗨,所有编码世界的新手。在 Python 中进行自动化项目并使用 wxPython 编写 GUI 脚本

我的代码是:

      z = subprocess.Popen(["ps aux | grep 'process1' | grep -v grep"],shell=True, stdout = subprocess.PIPE)
      connect = z.stdout.readlines()
      connect = "".join(connect)
      if connect is None:  # connect == ' ':
         self.info = wx.MessageBox("Not able to proceed","warning", wx.OK)
      else:

         self.permission = wx.MessageBox("Can enter","warning", wx.OK)

但如果 process1 没有运行,那么它也会显示 self.permission 消息框,即“可以进入”。我在这里做错了什么。?

4

2 回答 2

1

connect不能在None这里:

  connect = z.stdout.readlines()
  connect = "".join(connect)
  if connect is None:  # connect == ' ':

如果是,则前面的if行将引发异常。它可能是一个空字符串,因此您可以按如下方式更改测试:

  if not connect:
于 2013-06-26T10:26:06.727 回答
1
if not connect: 

代替

if connect is None. 

它必须工作

于 2013-06-26T10:26:14.753 回答