今回は、osモジュールの使い方について紹介します。
1.osモジュールについて
osモジュールは、osに依存する様々な機能を利用するためのモジュールです。
ディレクトリの操作や情報を取得するために必要なモジュールになります。
今は、色々なサイトでこの機能について紹介されていますが、私の復習のために今回の記事を書きます。
2.ディレクトリの操作
2.1 os.getcwd():現在のディレクトリの表示
#ライブラリのインポート import os #現在のカレントディレクトリを表示 os.getcwd() >>>'C:\\Users\\ユーザー名'
現在のディレクトリを表示する
os.getcwd()
引数は特に指定しなくてOKです。
2.2 os.chdir():ディレクトリの移動
#pathを指定する path = r"C:\Users\ユーザー名\移動したいディレクトリ名" #ディレクトリの移動 os.chdir(path)
ディレクトリを移動する
os.chdir()
引数には、移動先のディレクトリの相対パスor絶対パスを指定する。
今回のように事前にpathという変数に絶対パス等を指定しておき、引数に指定することでも、
相対パスや絶対パスを引数に直打ちでも、どちらでも可能です。
2.3 os.mkdir():ディレクトリを作成する
#ディレクトリを作成 os.mkdir(./test)
ディレクトリを作成
os.mkdir(引数1)
引数にはパスを指定します。
引数=親ディレクトリのパス+子ディレクトリのパス
2.4 os.rename:ディレクトリ名の変更
#path1が変更前のディレクトリ名 path1=r'C:\\Users\ユーザー名\親ディレクトリ名\test' #path2が変更後のディレクトリ名 path2=r'C:\\Users\ユーザー名\親ディレクトリ名\demo' #ディレクトリ名の変更 os.rename(path1,path2)
ディレクトリの名前の変更
os.rename(引数1:変更前のpath,引数2:変更後のpath)
引数1には、名前を変更する前のディレクトリパス,引数2に変更した名前のディレクトリパスを指定します。
2.5 os.remove():ディレクトリの削除
#削除するディレクトリパスを指定 path = r'C:\\Users\ユーザー名\親ディレクトリ名\demo' #ディレクトリの削除 os.remove(path)
ディレクトリの削除
os.remove(引数)
引数は削除ディレクトリパスを入力する。
3.ディレクトリの文字列の操作と情報取得
3.1 os.path.join():ディレクトリのパスの文字列を結合
os.getcwd() >>>'C:\\Users\\ユーザー名\\現在のディレクトリ名' #ディレクトリの文字列の結合 os.path.join(os.getcwd(),"test") >>>'C:\\Users\\ユーザー名\\現在のディレクトリ名\\test'
ディレクトリ名の変更
os.path.join(引数1:結合する1つ目のパス,引数2:結合する2つ目のパス)
引数1には現在のディレクトリパスを使用したい場合、os.getcwd()で取得したパスを使用することも可能です。
ちなみに、上記のコード例では、結果をわかりやすくするため、最初に現在のディレクトリの位置を確認した上で、文字列の結合をしました。
3.2 os.path.splitdrive:パスをドライバ部分とtail部分で分割する
p = 'C:\\Users\\ユーザー名\\ディレクトリ名\\test' #ドライバとtailに分割する driver,tail = os.path.splitdrive(p) print('driver:{0:s} tail:{1:s}'.format(driver,tail)) >>>driver:C: tail:\Users\ユーザー名\\ディレクトリ名\test
ドライバとtailに分割する
driver,tail = os.path.splitdrive(引数:パス)
3.3 os:ディレクトリの情報を取得する
#秒単位でディレクトリの最終アクセス時間を表示 os.path.getmtime(path) >>>1558231238.374397 #分単位でディレクトリの最終アクセス時間を表示 os.path.getctime(path) >>>1553605893.9917133 #ディレクトリのサイズを取得 os.path.getsize(path) >>>393216
これはコードを書いている中で、あまり使用しない可能性があると思いますが、知識としては知っておいて損はないと思います。
4.最後に
今回は、pythonのosモジュールについて紹介しました。
最初にも言いましたが、今回の投稿は、自分の復習もかねてブログを書きました。
でも忘れていたコードもあったので、初心を忘れてはいけないですね。
今回は、osモジュールでも比較的使用するであろうコードを記載しました。
今度も復習がてらシリーズの記事を記載したいと思います。
コメント