我想检查操作系统(在运行脚本的计算机上)。
我知道我可以在Linux中使用os.system('uname -o'),但它在控制台中给我一个消息,我想写入一个变量。
os.system('uname -o')
如果脚本可以判断它是Mac、Windows还是Linux,那就没问题了。我怎么检查呢?
你可以使用sys.platform。
sys.platform
你可以通过检查sys.platform来大致了解你所使用的操作系统。
一旦你有了这些信息,你就可以用它来确定调用os.uname()之类的方法是否适合收集更具体的信息。你也可以在类unix操作系统上使用Python系统信息,或者在Windows上使用pywin32。
os.uname()
如果你想做更深入的检查,而不想关心操作系统,还有psutil。
你可以使用sys.platform:
from sys import platform if platform == "linux" or platform == "linux2": # linux elif platform == "darwin": # OS X elif platform == "win32": # Windows...
sys.platform具有比sys.name更细的粒度。
sys.name
有效值可参考的文档。
另见“我运行的是什么操作系统?”的答案
更详细的信息可在platform模块。
platform
如果你想知道你在“Linux”、“Windows”或“Darwin”(Mac)之外的哪个平台上,你应该使用:
>>> import platform >>> platform.system() 'Linux' # or 'Windows'/'Darwin'
platform.system函数在内部使用uname。
platform.system
uname