You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何检查变量不等于指定字符串?Python操作系统判断异常修复

问题原因

  • 错误1:判断条件的目标值书写错误,你写的"'Linux'"是包含单引号的字符串,而platform.system()返回的是无额外引号的'Linux',二者值永远不相等,导致条件始终触发。
  • 错误2:值比较错误使用了is not运算符。is/is not用于判断两个变量是否指向内存中的同一个对象,字符串值比较应当使用!=运算符。
  • 补充:你给出的原始代码还存在缩进错误,函数内部的代码没有正确缩进,运行会直接触发语法错误。

修复后的代码

import platform
import time
# 注意用到的color变量需要提前导入对应模块或者自行定义
def getos():
    osys = platform.system()
    if osys != 'Linux':
        print(color.lightred + "This program only runs on Linux operating systems.")
        time.sleep(2)
        quit()
getos()

兼容优化建议

如果需要避免不同环境下返回值大小写差异导致的判断失效,可以把返回值转大写后再判断:

if osys.upper() != 'LINUX':
    # 原有退出逻辑

内容的提问来源于stack exchange,提问作者Brennan McCown

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:18:01