Интересно, сможем ли мы найти разработчиков Python, чтобы это подтвердить? Может быть, даже тот, кто разработал модуль платформы.

лько я знаю, у Python есть 3 способа узнать, на какой операционной системе выполняется:

os.namesys.platformplatform.system()

Знание этой информации часто полезно при условном импорте или при использовании функций, которые различаются между платформами (например,time.clock() на Windows v.s.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

или это? :

import platform
if platform.system() == 'Linux':
    # Do Linux-specific stuff

Сейчас я буду придерживатьсяsys.platformТак что этот вопрос не особенно актуален, но я был бы очень признателен за разъяснения по этому поводу.

Ответы на вопрос(0)

Ваш ответ на вопрос