Pythonで、ディレクトリやファイルを操作する方法です。
Jupyter notebookから、ファイルのデータを読み込んだり、保存するために、プログラムが実行されているカレントディレクトリを操作できるようになりましょう。
カレントディレクトリとは
カレントディレクトリは、「カレント」+「ディレクトリ」です。
カレントは、「今いるところ」という意味なので、Pythonが今いるディレクトリ(フォルダ)となります。
プログラムがファイルとやり取りをするときに、ファイルまでのパスを指定しなくても、ファイル名だけでやり取りができる場所です。
ディレクトリとフォルダは同じことを指しますが、OSによって呼ばれ方が違っています。
・UNIX(Mac)系: ディレクトリ
・Windows系: フォルダ
カレントディレクトリの確認
カレントディレクトリは、標準ライブラリのosモジュールを使って確認できます。
os.getcwd()
osモジュールをインポートして、os.getcwd()を実行します。
import os
os.getcwd()
'C:\\Users\\user'
windows環境での例ですが、Cドライブの上記フォルダがカレントディレクトリと確認できました。
ディレクトリの作成
今回の作業用に、新しいディレクトリ(フォルダ)を作成します。
OS側で作成してもよいのですが、Pythonのプログラムからディレクトリ作成してみます。
os.mkdir()
os.mkdir()は、存在しているディレクトリの下に、新しいディレクトリを作成します。
パスを指定しないで、ディレクトリ名だけで実行すると、カレントディレクトリの下に新しいディレクトリが作成されます。
カレントディレクトリの下に、「potesara」というディレクトリを作成します。
os.mkdir('potesara')
ディレクトリの確認
ディレクトリ内に存在しているディレクトリやファイルを確認します。
os.listdir()
カレントディレクトリ内の、ディレクトリ名やファイル名は、os.listdir()で確認できます。
os.listdir()
カレントディレクトリ内の、ディレクトリ名とファイル名の一覧がリストで返ってきます。
また、システムコマンドでも確認できます。
Linuxのターミナルで使用するコマンドを使うことができます。
# Jupyter Notebook
ls
「!」をつけると、OSのシステムコマンドが使用できます。
# OSがWindowsの場合
!dir
カレントディレクトの移動・変更
カレントディレクトリは、os.chdir()で変更することができます。
os.chdir()
パスは、相対パスで指定することも、絶対パスで指定することもできます。
先ほど作成したディレクトリ「potesare」へ移動してみましょう。
現在のカレントディレクトリは、「/User/user」です。
os.chdir('potesara')
os.getcwd()
'C:\\Users\\user\\potesara'
カレントディレクトリが、ディレクトリ「user」内のディレクトリ「potesara」に変更されています。
一つ上のディレクトリに移動するには、「’../’」を指定します。
os.chdir('../')
os.getcwd()
C:\Users\user
カレントディレクトリは、パスを指定して変更することもできます。
# 絶対パス
os.chdir('/Users/user/potesara')
# 相対パス
# カレントディレクトリが「/Users/user」
os.chdir('./potesara')
パスの指定は、文字列を使っても大丈夫です。
Path = '/Users/user/potesara'
os.chdir(Path)
まとめ
- カレントディレクトリを、os.getcwd()で確認することができた
- Pythonから、os.mkdir()でディレクトリを作成することができた
- カレントディレクトリを、os.chdir()で変更することができた