【发布时间】:2017-06-26 15:48:10
【问题描述】:
我对 Python 还是很陌生。当我使用以下 python 代码执行以下命令以获取 x86 服务器上的总 CPU 核心数时,出现如下错误;
########################Code#######################
#!/usr/bin/python
import os
import re
import subprocess
os.system('clear')
#CPU core count check
flag=0
p = subprocess.Popen(['cat /proc/cpuinfo | grep -i processor | wc -l'], stdout=subprocess.PIPE)
print p.communicate(1)
##############################Output####################
Traceback (most recent call last):
File "./chk_config.py", line 9, in <module>
p = subprocess.Popen(['cat /proc/cpuinfo | grep -i processor | wc -l'], stdout=subprocess.PIPE)
File "/usr/lib64/python2.7/subprocess.py", line 711, in __init__
errread, errwrite)
File "/usr/lib64/python2.7/subprocess.py", line 1327, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
os.popen 有效,但我不想使用os.popen,因为它在我想省略的总核心数末尾打印None/
【问题讨论】:
-
尝试使用键盘上的
Enter键...此外,您可以通过缩进四个空格来创建代码块。 -
调试你的错误。命令行提示符下的“cat /proc/cpuinfo | grep -i processor | wc -l”行输出什么?是否可以执行“p = subprocess.Popen([
], stdout=subprocess.PIPE)”这行,其中 是之前获取的一条信息? -
这是因为您正在尝试运行一个名为 'cat /proc/cpuinfo | grep -i 处理器 | wc -l'。
-
你不这样做,也不应该这样做。
标签: python python-2.7 subprocess