【发布时间】:2023-01-29 01:53:21
【问题描述】:
出于某种原因,我的代码执行了不应该运行的东西,塞进了 if ... else 语句中。
if platform == "win32":
if str(platform.release()) == "10" or str(platform.release()) == "11":
print(f"{bcolors.WARNING}Welcome to {bcolors.BOLD}B Kernel{bcolors.ENDC}")
else:
print("Welcome to B Kernel.")
else:
print(f"{bcolors.WARNING}Welcome to {bcolors.BOLD}B Kernel{bcolors.ENDC}")
return True
它运行该 sn-p 的第三行,即使我在 Windows 7 上使用它。它应该运行第 5 行,但没有。
我将第一行从“Windows”更改为“win32”,怀疑错误来自第 7 行,但它来自第三行,结果也是同样的错误。
【问题讨论】:
-
platform是什么,您可以直接将它与字符串进行比较,还可以调用release()吗? -
您如何打印您正在检查的值的值,看看它们是否符合您的预期?
-
platform获取操作系统类型(Windows、macOS、Linux),而“release”是操作系统版本(XP、7、10、11) -
是的,但你没有调用任何东西,你只是将包与字符串进行比较
标签: python windows if-statement