Python import文について
◆import sysって?
・sysモジュール(様々な変数や関数が含まれている)をインポートしている。sysモジュール以下すべての変数&関数を“sys.を先頭に付ける形で利用できるようする。
・ちなみにimport文は、import {.pyを除いたファイル名}構文
>>>import sys
◆たとえばどんな感じ?
☞ print(sys.path)
・sys.pathはpythonパス(PYTHONPATH)をリストにして返す。絶対パスの文字列リスト。
・「path 変数は、モジュール検索パス、すなわちPythonがモジュールのインポート時にモジュールの検索対象とするディレクトリーのリストです。1個目の空文字列'' は、カレント・ディレクトリーを表します。」@IBMウェブサイト
>>>print(sys.path)
☞ print(sys.version)
・pythonやanacondaのバージョンを表示。
>>>print(sys.version)
◆とりあえず手を動かして"import"に慣れるコード書いてみる
●目的:
・mainプログラムにmoduleプログラムを読み込んで動かす
・天気予報をランダムに表示 (O'REILLY入門Python3の139ページ)
●予め用意するmoduleプログラム
・文字列のリストからランダムに1つを選択。
・tenkiyosoku.pyという名前で所定のディクトリに保存。
・なお、 randomモジュール&choice関数はputhon標準
def get_yosoku(): from random import choice possibilities = ['晴れ','雨','曇り','雪'] return choice(possibilities)
●mainプログラム
・moduleプログラムにアクセスし、その中のget_yosoku()関数を実行する。
・一行目を過ぎ一旦インポートされてしまえば、[moduleプログラム]名のプリフィックスを付けてmoduleプログラムの全ての部分にアクセスできる。
import tenkiyosoku description = tenkiyosoku.get_yosoku() print('実行のたびランダムに天気表示するよ:', description)
結果:
◆ Memo:
・sys.path…中身はリスト。os.path…モジュール。
・参考にしたサイト IBMウェブサイト
https://www.ibm.com/developerworks/jp/linux/library/l-pyint/index.html