OS(プラットフォーム)の判別(Python)

MatlabやR、Pythonは環境に依存せずコードを実行できるクロスプラットフォームであることが魅力の一つだと思います。
ところが実際は、フォントやAPIなど、OSに合わせて実行するコードを変更したい場合があります。
Pythonでは、osモジュールのos.nameを使ってWindowsか、それ以外のLinuxなどかのプラットフォームの判別ができます。
Windowsかどうかで処理を分けたい場合は、たとえば以下のようにするでしょう。

>>> import os
>>> if os.name == 'nt':
...	print('on Windows')
...elif os.name == 'posix':
...	print('on Mac or Linux')

たいていはこれで良いかもしれませんが、MacかLinuxかも判別したいならplatformモジュールのplatform.system関数が良いかもしれません。

>>> import platform
>>> pf = platform.system()
>>> if pf == 'Windows':
...	print('on Windows')
...elif pf == 'Darwin':
...	print('on Mac')
...elif pt == 'Linux':
...	print('on Linux')

PsychoPyではMacで日本語フォントが切れるようなので、クロスプラットフォームが想定される場合は便利でしょう。 PsychoPyでじゃんけんプログラム(Python)

↑ PAGE TOP