WindowsとMacに両対応

dataフォルダに画像などを直置きして使用している場合は問題ないが、その中にフォルダを作って管理していく場合、ファイル名だけでなくパスの記述が必要になる。このパスの記述のときに使用するフォルダの区切り記号がWindowsとMac/Linuxで異なるので問題が生じる。

詳しくは円マークとバックスラッシュの話を参照すべし。

上記を踏まえてprocessing.pyでやるとすれば、下記の感じになるかな?

import os

cwd = os.getcwd()
path = "/data/hoge.png" # プログラム内はLinux,Mac形式で指定

# OSの判定(パスに:が含まれるかで判断)
if cwd.find(":") > 0:
    print("windows")
    path = path.replace("/", "\\"); # Windows形式に置換
else:
    print("mac")

fullPath = cwd + path

print(fullPath)
if os.path.isfile(fullPath):
    print(u"↑のファイルは存在します")
else:
    print(u"↑のファイルは存在しません!!")

コメントする