Platform.system()给我“ str对象没有属性” system”

时间:2019-07-05 18:43:31

标签: python python-3.x

只要我输入与“ clear()”有关的任何定义,它就会立即中断并给我这个错误。

问题出在我程序的核心模块,该程序前端的所有功能都正常运行,包括'clear()'函数。我尝试过移动'clear()'函数并将其重写,但是没有任何效果。

def clear():
    if platform.system() == 'Windows':
    os.system('cls')
else:
    os.system('clear')

它应该清除终端,但我收到此错误:

如果platform.system()=='Windows': AttributeError:“ str”对象没有属性“ system”

2 个答案:

答案 0 :(得分:0)

似乎您在代码中的其他地方覆盖了平台的价值。 确保您没有这样做。

import sys
import platform
import os


def clear(system):
    if "Win" in system:
        os.system('cls')
    elif "Lin" in system:
        os.system('clear')

system = platform.system()
print(system)
clear(system)

答案 1 :(得分:0)

所以我弄清楚了,我不得不用sys.platform替换platform.system并解决了问题。

import sys
import os


def clear():
    if sys.platform == 'win32':
        os.system('cls')
    if sys.platform == 'linux':
        os.system('clear')

print("test")
clear()