我正在研究跨平台实用程序,该实用程序涉及驱动器扫描和为其运行的操作系统自动创建 shell/批处理文件。不幸的是,我找不到一个简单的答案。如这些链接中所述:
- 何时使用 os.name、sys.platform 或 platform.system?
- 在 Python 中可靠地检测 Windows
- 从路径中提取文件名,无论 os/path 格式如何
- Python:我在什么操作系统上运行?
- 并在http://docs.python.org/library/platform.html#module-platform
各种platform.system()、platform.platform()、sys.platform、os.name()等都面临着未来未必完美的问题。也就是说,如果操作系统开发人员稍作改动,这些可能不起作用(至少在修补或修改之前)。因此,显然最好的解决方案是尝试上述每个方法的一小部分,以及使用 call() 来定位一些特定于操作系统的可执行文件。
这留下了我的问题:由于确定这一点的最佳方法涉及 platform.system、sys.platform 和 os.name(假设只需要广义识别),这些程序的各种可能输出是什么?这些模块中的每一个的 docs.python.org 部分仅列出了一些,并且这些页面并不完全是最新的。具体来说,我想知道最后三个 Mac OS、Win XP-Win 8 上的可能输出,并且只知道 Linux 满足了我的需求。任何人都知道输出是什么或我在哪里可以找到它们?
提前致谢。
澄清:我在这里寻找的是当前已知的值,以便我可以将它们合并到现有项目中,着眼于将来的代码修订使我更容易。所以当前返回值是我正在寻找的(最后 3 代 Mac OS* 和 Win * 因为除此之外可能不再使用太多)