python tkinter模块与os模块出问题

又是奇奇怪怪的一天!
按动按钮不能关机耶

def s():
    os.system=('shutdown /s /t 0')
#按钮
b=tkinter.Button(pa,text='Shutdowm',width=14,height=1,command=s)
b.grid(column=0,row=2)

有没有人帮我一下啊?

os.system=('shutdown /s /t 0')
改为
os.system('shutdown /s /t 0')
你把os.system这个函数给重新定义成一个成员变量,并赋值了一个元组作为值

望采纳

你的代码中,os.system('shutdown /s /t 0') 命令会立即关闭计算机。但是,当你按下按钮时,并不会出现任何反应。

因为 os.system 函数是一个阻塞函数,它会等待命令执行完毕后再返回。在这种情况下,当命令执行完毕后,计算机就已经关闭了,无法再显示任何反应。

如果你希望在按下按钮后立即显示一个确认对话框,可以使用 ctypes 模块来调用 Windows API,如下所示:

import ctypes

def s():
    ctypes.windll.user32.MessageBoxW(None, '确定要关机吗?', '关机', 0x40000)
    os.system('shutdown /s /t 0')

当你按下按钮时,就会弹出一个确认对话框,你可以选择是否关闭计算机。