私の知る限り、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
それともこれ?:
import platform
if platform.system() == 'Linux':
# Do Linux-specific stuff
今のところ私はに固執するつもりですsys.platformので、この質問は特に緊急ではありませんが、これについての明確化に感謝します。
sys.platform.startswith('linux')のsys.platform == 'linux2'ためにの代わりに使用