Использование STL находит функция.
Имеют в виду, что существует также функция find_if, которую можно использовать, если поиск более сложен, т.е. если Вы только ищете элемент, но, например, хотите, видят, существует ли элемент, который выполняет определенное условие, например, строка, которая запускается с "abc". (find_if
дал бы Вам итератор, который указывает на первое на такой элемент).
Python os модуль
Специально для Python 3.6 / 3.7:
os.name
: имя рабочего импортирован системно-зависимый модуль. В следующие имена в настоящее время зарегистрировано: 'posix', 'nt', 'java'.
В вашем случае вы хотите проверить наличие 'nt' как os.name
output:
import os
if os.name == 'nt':
...
Также есть примечание о os.name
:
См. Также
sys.platform
имеет более тонкую детализацию.os.uname ()
дает информация о версии, зависящая от системы.Модуль платформы предоставляет подробные проверки идентичности системы.
Используете ли вы platform.system
?
system() Returns the system/OS name, e.g. 'Linux', 'Windows' or 'Java'. An empty string is returned if the value cannot be determined.
Если это не работает, возможно, попробуйте platform.win32_ver
, и если это не вызовет исключения, вы работаете в Windows; но я не знаю, совместим ли это с 64-битной версией, поскольку в названии указано 32.
win32_ver(release='', version='', csd='', ptype='') Get additional version information from the Windows Registry and return a tuple (version,csd,ptype) referring to version number, CSD level and OS type (multi/single processor).
Но os.name
, вероятно, лучший вариант, как уже упоминали другие.
if sys.platform == 'win32':
#---------
if os.environ.get('OS','') == 'Windows_NT':
#---------
try: import win32api
#---------
# Emulation using _winreg (added in Python 2.0) and
# sys.getwindowsversion() (added in Python 2.3)
import _winreg
GetVersionEx = sys.getwindowsversion
#----------
def system():
""" Returns the system/OS name, e.g. 'Linux', 'Windows' or 'Java'.
An empty string is returned if the value cannot be determined.
"""
return uname()[0]
Вы можете полагаться на os .name.
import os
if os.name == 'nt':
# ...
редактировать: Теперь Я бы сказал, что самый простой способ сделать это - использовать модуль платформы , согласно другому ответу.
тоже в sys:
import sys
# its win32, maybe there is win64 too?
is_windows = sys.platform.startswith('win')