diadia

興味があることをやってみる。自分のメモを残しておきます。

python: windowsとmacから同一のスクリプトを利用する方法

前提

dropboxにデータやスクリプトを配置している。

問題点

windowsmacでは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