如何在Python中检查操作系统?

我想检查操作系统(在脚本运行的计算机上)。

我知道我可以在Linux中使用os.system('uname -o') ,但它在控制台中给了我一个消息,我想写入一个variables。

如果脚本可以判断它是Mac,Windows还是Linux,那将是可以的。 我如何检查它?

你可以使用sys.platform

 from sys import platform if platform == "linux" or platform == "linux2": # linux elif platform == "darwin": # OS X elif platform == "win32": # Windows... 

有关有效值,请参阅文档 。

你可以通过检查sys.platform获得你正在使用的操作系统的一个非常粗略的概念。

一旦你有了这些信息,你就可以用它来确定是否调用类似os.uname()方法来收集更多的具体信息。 你也可以在unix-like操作系统上使用Python系统信息 ,或者在Windows上使用pywin32 。

还有,如果你想做更深入的检查而不想关心操作系统。

platform模块中提供了更详细的信息。

你可以使用sys.platform

如果你想知道在哪个平台上:“Linux”,“Windows”或“Darwin”(Mac)没有更高的精度,你应该使用:

 >>> import platform >>> platform.system() 'Linux' # or 'Windows'/'Darwin' 

platform.system函数在内部使用uname

似乎有一些有关Windows如何识别的冲突的信息。 有些消息来源说“Windows”,其他来源说“win32”。

考虑到这一点…

 from sys import platform if "win" in platform.lower(): print platform win32 

Cygwin可能是这样。 但你总是可以添加一个检查,以确保“cy”不在那里。