Pythonを使うとたとえ数百個のファイルがあったとしても一瞬で変更できてしまいます。そのときにつかえるosモジュールの使い方を紹介します。
この内容を理解するにあたり、ルートディレクトリ、カレントディレクトリ、相対パス、絶対パスのを知っておく必要があります。
今回は「ルートディレクトリ・カレントディレクトリ・ファイルパス」の説明をします。 もし、「ディレクトリ」という言葉が分からない場合は下の記事をご覧ください。 [sitecard subtitle=関連記事 url="https[…]
パソコンを使ったことがあるのなら一度は聞いたことがあるとは追うこれらの言葉「ファイル・フォルダ・ディレクトリ」の違いを説明していきたいと思います。 本棚に本がたくさん入っているようにフォルダ(ディレクトリ)の中にファイルが入っている[…]
フォルダ内のファイル名取得
os.listdir関数
- osモジュールをインポート
- 引数にフォルダのディレクトリを渡す
- 絶対パスでも相対パスでもOK
- 戻り値はフォルダ内のファイル・フォルダのリスト
1 2 3 4 5 6 7 8 9 10 |
C: #blogフォルダの中身 │ sample.txt │ スケジュール.xlsx │ │─ folder1 │ ├─ step1.txt │ ├─ step2.txt │ └─ step3.txt │ └ folder2 |
このフォルダの中身をos.listdir関数で出力すると以下のようになります。今回は絶対パスでフォルダを指定しました。
1 2 3 4 5 6 7 8 |
>>> import os >>> os.listdir(r"C:\blog") ['folder1', 'folder2', 'sample.txt', 'スケジュール.xlsx'] #ファイルパスはエラー >>> os.listdir(r"C:\blog\sample.txt") NotADirectoryError: [WinError 267] ディレクトリ名が無効です。 |
- 「folder1」に含まれるファイル出力されない
- 引数にファイルパスを指定すると「NotADirectoryError」
- 必ず「フォルダのパス」をわたすこと
名前の変更
os.rename関数
- osモジュールをインポート
- 引数に変更前のパスと変更後のパスを渡す
- ファイル名もフォルダ名も変更可能
今回も同じようにblogフォルダを例に名前を変更していきます。まずは「sample.txt」を「sample_after.txt」に変更します。
1 2 3 4 |
>>> import os >>> old = r"C:\blog\sample.txt" >>> new = r"C:\blog\sample_after.txt" >>> os.rename(old, new) |
何も出力されませんがファイルの名前は変更されています。最初に変更前、後ろに変更後にパスを渡します。順番に注意ですね。
次に、「folder2」の名前を「folder2_after」に変更します。ファイル名の変更もフォルダ名の変更も同じ手順で行えます。
1 2 3 4 |
>>> import os >>> old = r"C:\blog\folder2" >>> new = r"C:\blog\folder2_after" >>> os.rename(old, new) |
まとめ
- フォルダ内をリスト化:os.listdir関数
- 名前の変更:os.rename関数
- ファイル操作で使うosモジュールの関数16個まとめ
- ファイルを読み込む手順【open・close・path・withの使い方】
- ファイルに書き込み・上書き・読み込みする5つの方法【open関数のモード選択】
- フォルダ内のファイル名を取得・名前を変更する方法
- ファイル・フォルダを削除・作成する方法
- 絶対パスと相対パスの判定・変換する方法
- ファイル・フォルダを移動・コピーする方法【shutilモジュールの使い方】
- ファイルを読み込む5通りの方法【リスト・for文・一行ずつ】
- ディレクトリツリーを取得してファイル一覧を表示する方法【os.walkの使い方】
- ファイル・フォルダがあるかどうかの存在確認と判定する方法
プログラミング言語のなかでも人気の高いPythonを学習する教材を紹介します。 最近ではプログラミングスククールがたくさんあるので迷うと思います。 ですが、まずは無料教材から始めてみましょう。苦労した分だけ力がつきます。 […]