以下、忘れないうちにメモメモ。
特定のデータがあって、改行コードでsplitしたい場合
DATA.split(os.linesep)
ってやれば、macとlinuxではうまくいくんですが windowsでやると、分割されずに一つの文字列として 結果が返ってきた。
どうも、Windowsの場合 os.linesep ではなくて
DATA.split('¥n')
ってやってやるとうまくいく。
でもなんかしっくりこないので、stackoverflow先生に聞いてみると
以下の情報発見。
splitlinesってメソッドもあるのかと今更しったw
てことで、サンプル。
# ---------------------------------------- # splitとsplitlines # -------------------- # 以下をmacとlinuxで実行すると同じ結果に # なるが、windowsで実行するとos.linesep # でsplitした場合に、ちゃんと分割されない # ときがあった。splitlinesを利用すると # どのOSの場合でも同じ挙動になる。 # # ちなみに、Windowsの場合は os.linesep # ではなくて、直接 '¥n'を指定すると # うまくいった。 # # 参考URL # http://stackoverflow.com/questions/24237524/how-to-split-a-python-string-on-new-line-characters # ---------------------------------------- pr('os.linesep', [line for line in DATA.split(os.linesep) if line]) pr('splitlines', [line for line in DATA.splitlines() if line]) # pr('for-windows', [line for line in DATA.split('¥n') if line])
以下、参考にした情報です。
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場