2013年6月9日日曜日

[Python]os モジュール

スクリプトを動作させている OS を区別する
os モジュールの name を使う
# -*- coding:utf-8 -*-
import os

if os.name == "nt":
    print "OS name is %s (Windows XP)" % (os.name)
elif os.name == "posix":
    print "OS name is %s (Linux)" % (os.name)
else:
    print "OS name is %s" % (os.name)

Windows XP で動作させた場合
> python test.py
OS name is nt (Windows XP)

Fedora13 で動作させた場合
$ python test.py
OS name is posix (Linux)

matplotlib で日本語フォントを使う場合、Windows と Linux ではフォントの指定先が異なるので次のように分ける。
# フォントを指定して日本語表示
if os.name == "nt":
    # Windows の場合
    prop = fm.FontProperties(fname='C:\\WINDOWS\\Fonts\\ipamp.ttf')
else:
    # Linux の場合
    prop = fm.FontProperties(fname='/usr/share/fonts/ipa-pmincho/ipamp.ttf')

plt.xticks(ind + width / 2., (u'東京 1 月', u'東京 8 月', u'那覇 1 月', u'那覇 8 月'), fontproperties=prop)

0 件のコメント:

コメントを投稿