错误:“ str”对象没有属性“ system”

时间:2019-07-12 04:32:10

标签: python python-os

这似乎是os.system()错误。我不知道下一步该怎么做。

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import re, platform, os

def init():
        cmd = {
                'centos': 'yum -y install python-devel && pip install psutil > /dev/null',
                'ubuntu': 'apt-get -y install python-dev && pip install psutil > /dev/null'
        }
        os = platform.platform().lower()

        osname = ''.join(key for key in cmd if re.findall(key,os))

        try:
                import psutil
        except ImportError:
                try:
                        os.system(cmd[osname])
                        import psutil
                except Exception as error:
                        print("Error : {}".format(error))
def collect():
        cpu = psutil.cpu_count(logical=False)
        print('cpucount: {}'.format(cpu))

if __name__ == '__main__':
        init()

os.system()函数不接受字符串? os.system('apt-get -y install python-dev && pip install psutil > /dev/null'),它在python shell中运行。我不知道怎么回事。

[root@master python]# python test.py 
Error : 'str' object has no attribute 'system'

1 个答案:

答案 0 :(得分:2)

os = platform.platform().lower()是您的罪魁祸首。为该局部变量使用其他名称。