AttributeError: 'module' object has no attribute 'DEVNULL'
时间: 2023-07-14 22:07:49 浏览: 308
`AttributeError: 'module' object has no attribute 'DEVNULL'` 错误表明模块中没有名为 `DEVNULL` 的属性。
根据你提供的代码,这个错误可能是因为你正在使用的 Python 版本较低,而 `subprocess.DEVNULL` 是在 Python 3.3 及以上版本中引入的。
如果你使用的是 Python 2.x 版本,你可以尝试使用 `subprocess.PIPE` 作为替代。修改代码如下所示:
```python
command = 'echo ' + self.NEWPASS + ' | sudo passwd --stdin root'
subprocess.call(command, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
command1 = 'echo ' + time.strftime('%Y-%m-%d %H:%M', time.localtime(time.time())) + '--root >> /root/pass.log'
command2 = 'echo ' + self.NEWPASS + ' >> /root/pass.log'
subprocess.call(command1, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
subprocess.call(command2, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
```
这样修改后的代码应该能够在 Python 2.x 版本中正常运行。请确保你使用的是正确的 Python 版本,并尝试运行代码,看看是否解决了问题。
阅读全文