pythonでosを判定する方法で検索すると次のような物が出てくる
import os
print(os.name)しかし、processingのpythonモードはjava上(Jython)で実行されるためwindowsであってもmacであってもos.nameはjavaとなってしまってosの判定ができない。
そこで、苦肉の策としてカレントディレクトリのパスを取得して、得られたパスの記述からwindowsかmacを判定することにした。windowsであれば「c:\hogehoge」のようになるので:が含まれていたらwindowsとした。雑な判定方法だけどね。
import os
if os.getcwd().find(":") > 0:
print("windows")
else:
print("mac")メモ:-1はTrueだった
上記のプログラムは最初
import os
if os.getcwd().find(":"):
print("windows")
else:
print("mac")のようになっていたけど、これは間違えです。
find関数で指定文字が見つからなかった場合、負の数かゼロが返って来て、それはFalseと同様だと思いこんでいた。
実際、見つからない場合は-1という負の数が返ってきますが、負の数-1はFalseではなくTrueと解釈されます。ちなみにFalseは0のみ。思い込みは良くないね。ちゃんとテストしないとね🥲