相关疑难解决方法(0)

561
推荐指数
20
解决办法
24万
查看次数

sys.platform中可能的值?

以下命令可能返回的值是多少?

import sys
print sys.platform
Run Code Online (Sandbox Code Playgroud)

我知道有很多可能性,所以我主要对"主要"(Windows,Linux,Mac OS)感兴趣

python cross-platform

70
推荐指数
4
解决办法
3万
查看次数

我什么时候应该使用os.name与sys.platform和platform.system()?

在Python中至少有三种方法可以检测OS /平台.

每种方法的理想应用是什么?应该何时使用另一种方法?


编辑:我的具体用例是安装时和依赖项的运行时检查.setup.py如果我在"Windows"上,我不想安装某些库,因为它需要Visual Studio.然后,在运行时我想检查依赖项是否可用(它可能不在"Windows"上).

编辑2:看一个需要每个级别的操作系统细节的简短示例也会很棒.

python operating-system

5
推荐指数
1
解决办法
1355
查看次数

如何在python脚本中检查系统是否是FreeBSD?

我想以一种python形式在2.7.x脚本中添加一个检查

if __check_freebsd__():
    # run actions which would only work on FreeBSD (e.g. create a jail)
elif __check_debian__():
    # run an alternative that runs on Debian-based systems
else:
    raise Error("unsupported OS")
Run Code Online (Sandbox Code Playgroud)

__check_freebsd__功能如何?

我已经有以下代码__check_debian__:

try:
    lsb_release_id_short = sp.check_output([lsb_release, "-d", "-s"]).strip().decode("utf-8")
    ret_value = "Debian" in lsb_release_id_short
    return ret_value
except Exception:
    return False
Run Code Online (Sandbox Code Playgroud)

所以你不必为此烦恼(当然,欢迎提出改进建议).

python freebsd python-2.7

5
推荐指数
1
解决办法
898
查看次数

1
推荐指数
1
解决办法
807
查看次数

Windows 7上的Python os.name返回nt

Python os.name在Windows 7上返回“ nt”

我正在使用os.name来获取当前脚本正在其下运行的当前操作系统的名称。但是奇怪的是,它返回的不是“ Windows 7”,而是“ nt”。

这是代码:

import os

print(os.name)
Run Code Online (Sandbox Code Playgroud)

结果:

nt
Run Code Online (Sandbox Code Playgroud)

python

0
推荐指数
2
解决办法
1645
查看次数