
photo credit: Seattle Municipal Archives City Light linemen, 1952 via photopin (license)
みなさん、こんにちは!
タカハシ(@ntakahashi0505)です。
一般ビジネスマン&初心者向けにPythonで簡単かつお仕事に役立つツールを作る方法についてお伝えしています。
以前、以下の記事でPythonの魅力の一つが、その豊富なライブラリにあるとお伝えしました。
既に11万以上も公開されているライブラリも魅力ですが
そもそも、標準で同梱されているライブラリの中にも
- csv
- json
- HTML
- ファイルやディレクトリ
- 正規表現
- 数学
- 乱数
- インターネットアクセス
- データ圧縮
- パフォーマンス計測
…など、それはもう豊富なラインナップが含まれています。
とお伝えしている通り、公式のPythonディストリビューションに含まれている標準ライブラリだけでも、アイデア次第でかなりいろいろなことができそう…
正直どこから手をつけるか迷っちゃうのですが、手始めに「ファイルやディレクトリ」を操作しながら、Pythonに慣れ親しんでいければと思います。
ほら、大量のフォルダを自動でドバっと作成したりとか、現在のファイルツリーを取得したりとか、そういうのができたら便利そうじゃないですか。
まず今回は、osモジュールとフォルダ操作を題材にして標準モジュールの使い方をお伝えします。
では、行ってみましょう!
モジュールとは何か
まず、モジュールとは何かその定義を明確にしておきましょう。
Pythonの公式ドキュメントの「6. モジュール (module)」には、以下のように定義されています。
モジュールは Python の定義や文が入ったファイルです。ファイル名はモジュール名に接尾語 .py がついたものになります。
なんだか難しそうな定義ですね。
ただ、冷静になってよーく見てみると
- Pythonの定義や文が入っている
- ファイル名は(*.py)
…ん?これってただのpyファイル…のようですね。
そうなんです、モジュールは一連の関数を備えたPythonのプログラムです。そして、他のPythonプログラムに埋め込んで使用ができます。
モジュールを組み込むと、そのモジュールに含まれる便利な関数を、作成しているプログラムで使えるようになるということです。
そして、公式Pythonのディストリビューションには標準ライブラリとして多数のモジュール群が付属しているということですね。
モジュールをインポートする
モジュールを利用するには、そのモジュールを読み込む必要があり、そのことをインポートと言います。
モジュールをインポートするには、以下のimport文を使います。
読み込んだモジュールの関数は以下の形式で利用することができます。関数によっては括弧内に引数が一つ以上必要になります。
osモジュールとos.getcwd関数で現在の作業ディレクトリを調べる
では、試しにOSつまりオペレーティングシステムとやり取りするための機能を備えているosモジュールと、それに含まれる現在の作業ディレクトリを調べるos.getcwd関数を使ってみましょう。
ちなみに「getcwd」は「get current working directory」の略ですね。
モジュールをインポートしない場合
あ、もしかしたら万が一でインポートせずとも使えるかも知れませんので、確認してみましょう。
IDLEのShellウィンドウで以下入力してみてください。ちなみに、osモジュールをインポートしてなくても補完は機能しますので、 Ctrl + Space を積極的に使ってみてくださいね。
>>> os.getcwd()
入力して Enter をしてみると…
はいダメです。
NameError: name ‘os’ is not defined
「’os’って名前は定義されてないんだけど」って怒られちゃいました。やっぱりインポートしないとダメですね。
osモジュールのインポートしてos.getcwd関数を使う
では、おとなしくosモジュールをインポートしてから、os.getcwd関数を使うこととしましょう。
以下一行ずつShellウィンドウで入力して Enter です。
>>> import os >>> os.getcwd()
おお、無事にフォルダパスが表示されましたね。
Shellウィンドウでos.getcwd関数を使うと、Pythonがインストールされているフォルダが現在の作業ディレクトリになるようです。
スクリプトファイルで現在の作業ディレクトリを調べる
では、Shellウィンドウではなく、任意の場所に保存されたPythonファイルのスクリプトでos.getcwd関数を実行するとどうなるでしょうか。
現在の作業ディレクトリは、Pythonファイルが保存されている場所になるでしょうか。
では、Ctrl + N で新規ファイルをEditorウィンドウで開いて、ササっと以下プログラムを入力しましょう。
import os print(os.getcwd())
書いたら、Ctrl + S でデスクトップの「mkdir」というフォルダに「getcwd.py」というファイル名で保存しました。そして F5 キーで実行です。
ちゃんと、「getcwd.py」が作業フォルダになっているのが確認できました。
まとめ
Pythonで標準ライブラリのモジュールをインポートして使う方法についてお伝えしました。
今回はosモジュールと作業フォルダを知るos.getcwd関数を使いました。
osモジュールには他にも便利な関数がたくさんありますし、標準ライブラリには他にも便利なモジュールが含まれています。Pythonの世界…広いですね。
さて、次回はosモジュールを使って、フォルダを作成する方法についてお伝えしていきます。
どうぞお楽しみに!