【问题标题】:How can I disable use of Python programs on certain operating systems?如何在某些操作系统上禁用 Python 程序?
【发布时间】:2015-10-10 07:53:13
【问题描述】:

我希望禁用在某些 Windows 操作系统上运行我的程序的功能,以防止某些我无法在较新版本中复制的问题。我想阻止它在 Windows XP、Vista 以及最终在 7 上运行。

我怎样才能做到这一点?有一段时间,我在 _platform 中使用了 if 语句,但效果不佳或效率不高。

【问题讨论】:

  • 你检查过python的版本和/或尝试过使用print (sys.version)吗?你可能需要包含import sys,这取决于它是否已经存在。
  • 由于使用了模块中的各种不同命令,我已经默认包含了 import sys。
  • Heresys.version 可用于查找信息、比较等的一些不同方式。如果您在不想使用的系统上运行该命令并保存输出,您可以检查不兼容的版本并将其列入黑名单。
  • sys.platform 将为您提供帮助。在 windows7 64 位上它返回“win32”。有关更多详细信息,请尝试 platform.platform()。在我返回“Windows-7-6.1.7601-SP1”的平台上。平台模块还有其他几个功能,可以与 Linux 上的 uname 选项相媲美。
  • @TrisNefzger Windows 7-6.1.7601 是 Windows 7 的最终版本还是只是当前更新?

标签: python python-3.x operating-system


【解决方案1】:

你可以使用sys.getwindowsversion:

import sys

ver = sys.getwindowsversion()
if ver.major == 6 and ver.minor == 1:
    print('Windows 7')
elif ver.major == 6 and ver.minor == 0:
    print('Windows Vista')
elif ver.major == 5 and ver.minor == 0:
    print('Windows XP')

版本号取自this page

【讨论】:

  • 请注意,如果您在 Linux 上尝试 sys.getwindowsversion(),您将获得一个 AttributeError(我想也是 Mac)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多