そんなに書くわけじゃないのですが、ひっかかった所をメモしておきます。まだまだあると思われますが。。。
スクリプトファイルの扱い、文字コードの違い
Pythonスクリプト一行目の "#!/usr/bin/env python" はWinでは認識してくれないです。がLinuxでは重要ですので記述をする。
あと文字コード。まずはSJISは使わずに、UTF-8に統一しましょう。
Pythonスクリプト二行目への宣言 "# -*- coding: UTF-8 -*-" を忘れずに。
BOMと改行コードについても述べられてます。
ディレクトリ構造の違い
Linuxだと /home/myname/hogehoge となりますが、Winだと C:\Users\myname\hogehoge となります。そもそも構造からして違う。このあたりをカバーするときには前出のリンクを参照。
セパレーターの違い
それでもカバーできない場合
- http://docs.python.jp/3.3/library/os.html#os.name
- http://docs.python.jp/3.3/library/sys.html#sys.platform
- pythonプログラムの実行OSの判別方法
例えばこんなケースで使いました。シェルとコマンドプロンプトの違いからくるものと理解してます。
その他
最終的にはWindowsで動作させるためのノウハウを学ぶ、という姿勢がよいのかな。文化が違うプラットフォーム上で、同じように取り扱うっていうのは難しいものですね。
参考
- シェルスクリプトプログラミング
- 5.3.5. クォート が参考になりました
- cmd.exe のコマンドラインの仕様を解析してみた