python可以检测到它在哪个操作系统下运行?

时间:2011-01-17 23:34:39

标签: python windows linux

python可以检测操作系统,然后为文件系统构建一个if / else语句。

我需要用FileSys字符串替换Fn字符串中的:\ Cobalt \。

import os.path, csv
from time import strftime

if os.path.?????:## Windows
   FileSys = r"C:\\working\\" 
else:   ##linux   
   FileSys = r"\\working\\" 

y=(strftime("%y%m%d"))
Fn = (r"C:\\working\\Setup%s.csv" %y)

10 个答案:

答案 0 :(得分:12)

我通常只是使用它:

import os
if os.name == 'nt':
    pass # Windows
else:
    pass # other (unix)

编辑:

希望回应你的意见:

from time import strftime
import os

if os.name == 'nt': # Windows
    basePath = 'C:\\working\\'
else:
    basePath = '/working/'

Fn = '%sSetup%s.csv' % ( basePath, strftime( '%y%m%d' ) )

答案 1 :(得分:4)

使用sys.platform。您可以在http://docs.python.org/library/platform.html

找到更多信息

答案 2 :(得分:1)

>>> import os
>>> os.uname()
('Linux', 'ubuntu', '2.6.32-27-generic', '#49-Ubuntu SMP Thu Dec 2 00:51:09 UTC 2010', 'x86_64')
>>> system = os.uname()
>>> print system[0] + '/' + system[1]
Linux/ubuntu
>>> 

答案 3 :(得分:1)

试试这个:

    import platform
    platform.uname()

它既适用于Linux,也适用于Windows。仅供参考:os.uname()不适用于Windows,但它适用于Linux。平台是通用的。

答案 4 :(得分:1)

最新答案,但是如果您要确定路径分隔符,则可以使用

os.path.sep

答案 5 :(得分:1)

参见此处:https://stackoverflow.com/a/58689984/3752715

import platform 
plt = platform.system()

if   plt == "Windows":   print("Your system is Windows")
elif plt == "Linux":     print("Your system is Linux")
elif plt == "Darwin":    print("Your system is MacOS")
else:                    print("Unidentified system")

您可以看到我的github存储库https://github.com/sk3pp3r/PyOS并使用pyos.py脚本

答案 6 :(得分:0)

你可以看一下os.uname

In [12]: os.uname()
Out[12]: 
('Darwin',
 'demitasse.local',
 '10.6.0',
 'Darwin Kernel Version 10.6.0: Wed Nov 10 18:13:17 PST 2010; root:xnu-1504.9.26~3/RELEASE_I386',
 'i386')

答案 7 :(得分:0)

对于大多数用例,您应该使用os.platform模块。但是,如果您需要更精简的界面,请尝试platinfo

答案 8 :(得分:0)

这是我前几天刚刚创建的内容:

<强> CODE:

def GetUserPlatform():
    if sys.platform == 'win32':
        UsrWinVer = str(sys.getwindowsversion().major)
        print("Operating System: Windows " + UsrWinVer)
    else:
        print("Something else")

GetUserPlatform()

<强>输出:

  

操作系统:Windows 10

答案 9 :(得分:0)

import platform
print(platform.uname().system)

这将为您提供Windows,Linux等