【发布时间】:2013-05-11 08:42:30
【问题描述】:
我有以下sn-p:
#!/usr/bin/env python
import sys
mypath = "D:\inetpub\wwwroot"
if mypath:
try:
print "Path: %s" % mypath
if mypath.find("/"):
print "OS: Linux/Unix"
elif mypath.find(":"):
print "OS: Windows"
else:
print "OS: Unknown"
except:
print "Error"
else:
print "[?] OS detection failure."
执行输出:
$ python test.py
Path: D:\inetpub\wwwroot
OS: Linux/Unix
我做错了什么?正如我所料,我得到了相反的结果。还是有更好的方法来做到这一点? "/" -> Linux/Unix 和 ":" -> Windows
【问题讨论】:
-
如果你想检测操作系统,为什么不直接阅读
sys.platform呢?如果它包含linux,那么它就是Linux。如果它包含win32,那么它就是 Windows。如果它包含darwin,那么它就是Mac OS X。更多信息请参见stackoverflow.com/questions/446209/…。 -
这只是一个例子,我不依赖它来检测操作系统。
标签: python python-2.7