python: windowsとmacから同一のスクリプトを利用する方法
前提
問題点
windowsとmacではcsvモジュールを使う場合以下の差異が存在する。
1.ファイルパスが異なる。
2.csvファイル書き込みの際にlineterminatorが必要か否か。
1.2も今まではwindows用、mac用のスクリプトを別々に準備し使うOSによってスクリプトを使い分けてきた。今回はこの問題を解決する。
import csv, platform pl = platform.system() if pl == 'Windows': # windowsファイルパス CSV_FILE = "C*************.csv" elif pl == 'Darwin': # macファイルパス CSV_FILE = "Users/********.csv" test_list = ["ロシア", "アメリカ", "中国", "ブラジル"] with open("path/test.csv", "a", encoding="utf-8") as f: if pl == 'Windows': writer = csv.writer(f, lineterminator="\n") elif pl == 'Darwin': writer = csv.writer(f) writer.writerow(test_list)
解決方法
見ればわかる。上記のようにplatformモジュールを使えばよい。
https://docs.python.org/ja/3/library/platform.html#platform.system