可能重复:
Python:我在运行什么操作系统?
正如标题所说,我怎样才能在python中找到当前的操作系统?
我找到了平台模块,但它说它返回'Windows'并且它在我的机器上返回'Microsoft'.我注意到在stackoverflow的另一个线程中它有时返回'Vista'.
所以,问题是,如何实施?
if isWindows():
...
Run Code Online (Sandbox Code Playgroud)
以前向兼容的方式?如果我必须检查"Vista"之类的东西,那么当下一个版本的Windows出现时它就会中断.
注意:声称这是一个重复的问题的答案实际上没有回答问题isWindows.他们回答"什么平台"的问题.由于存在许多种类的窗口,它们都没有全面地描述如何得到答案isWindows.
我想检查操作系统(在脚本运行的计算机上).
我知道我可以os.system('uname -o')在Linux 中使用,但它在控制台中给我一个消息,我想写一个变量.
如果脚本可以判断它是Mac,Windows还是Linux,那也没关系.我怎么检查呢?
据我所知,Python有3种方法可以找出正在运行的操作系统:
os.namesys.platformplatform.system()了解此信息通常在条件导入中使用,或者使用不同平台之间的功能(例如,time.clock()在Windows上与time.time()UNIX上).
我的问题是,为什么有3种不同的方法呢?何时应该使用一种方式而不是另一种方式?哪种方式是"最佳"(大多数面向未来或最不可能意外地排除您的程序实际可以运行的特定系统)?
看起来sys.platform是不是更具体的os.name,可以让你区分win32从cygwin(而不是只nt),并linux2从darwin(而不是只posix).但如果是这样的话,那么sys.platform和之间的区别platform.system()呢?
例如,哪个更好,这个:
import sys
if sys.platform == 'linux2':
# Do Linux-specific stuff
Run Code Online (Sandbox Code Playgroud)
或这个?:
import platform
if platform.system() == 'Linux':
# Do Linux-specific stuff
Run Code Online (Sandbox Code Playgroud)
现在我会坚持sys.platform,所以这个问题并不是特别紧迫,但我非常感谢对此有所澄清.
以下命令可能返回的值是多少?
import sys
print sys.platform
Run Code Online (Sandbox Code Playgroud)
我知道有很多可能性,所以我主要对"主要"(Windows,Linux,Mac OS)感兴趣
我怎么能让Python说出一些文字?
我可以使用节与子进程,但我将无法控制它(或者可能在交互模式,但它不会干净).
有没有Python TTS库?就像节日的API,eSpeak,......?
我必须从Python脚本中获取Linux发行版名称.dist平台模块中有一个方法:
import platform
platform.dist()
Run Code Online (Sandbox Code Playgroud)
但在我的Arch Linux下它返回:
>>> platform.dist()
('', '', '')
Run Code Online (Sandbox Code Playgroud)
为什么?我怎么能得到这个名字?
PS.我必须检查分发是否是基于Debian的.
更新:我在这里找到了Python站点,自2.6以来,dist()已被弃用.
>>> platform.linux_distribution()
('', '', '')
Run Code Online (Sandbox Code Playgroud) 我试过了:
print os.name
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
:nt
Run Code Online (Sandbox Code Playgroud)
但是,我希望输出更像"Windows 98"或"Linux".
经过这个问题的建议,我也尝试过:
import os
print os.name
import platform
print platform.system()
print platform.release()
Run Code Online (Sandbox Code Playgroud)
我的输出是:
Traceback (most recent call last):
File "C:/Documents and Settings/BIU1LR/Desktop/python_programs/program/platform.py", line 3, in <module>
import platform
File "C:/Documents and Settings/BIU1LR/Desktop/python_programs/program\platform.py", line 4, in <module>
print platform.system()
AttributeError: 'module' object has no attribute 'system'
Run Code Online (Sandbox Code Playgroud)
我使用的是Python 2.5.2.我究竟做错了什么?
我正在尝试将python代码从linux移植到Windows.在各个地方,通过从/ dev/random读取来生成随机数.有没有办法在Windows上模拟/ dev/random?
我正在寻找一种能让代码在linux上保持可用的解决方案......