Pythonのosモジュールのwalk関数について現役エンジニアが解説【初心者向け】
初心者向けにPythonのosモジュールのwalk関数について現役エンジニアが解説しています。osモジュールとはosに関するモジュールで、ファイルやフォルダのパスの取得や作成・削除などを行うことができます。walk関数とは、指定したフォルダの中のファイルを取得する関数です。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonのosモジュールのwalk関数について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。
Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。
なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
Pythonのosモジュールのwalk関数について詳しく説明していくね!
お願いします!
この記事ではPythonのosモジュールのwalk関数について解説します。
目次
osモジュールとは
Pythonのosモジュールは名前の通りosに依存するいろいろな機能を利用するためのモジュールです。
osモジュールを使うには以下のようにインポート文を書く必要があります。
import os
ファイルやフォルダの一覧を取得したり、パスの取得、ファイルやフォルダの作成/編集/削除が可能です。
walk関数とは
walk関数とは、osモジュールの中にある関数で指定したフォルダの中にあるファイルやサブフォルダを取得できます。
フォルダの中身の一覧を取得することができるため、非常に使い勝手のいい関数です。
walk関数の使い方
walk関数は以下のように記述しましょう。
import os (フォルダ, サブフォルダ, ファイル) = on.walk(元になるフォルダ)
walk関数の引数に一覧を取得したいフォルダのパスを指定します。
戻り値としてフォルダ、元になるフォルダの中にあるサブフォルダのリスト、元になるフォルダの中にあるファイルのリストがタプルになって取得可能です。
さらに繰り返し処理を使うことでサブフォルダの中身も含めフォルダの中にある全てのファイルの一覧を取得することもできるでしょう。
繰り返し処理は以下のように記述します。
for folder, subFolder, file in os.walk(元になるフォルダ): 処理
実際に書いてみよう
walk関数を使ってフォルダの中の全てのファイルを取得するプログラムを作成してみましょう。
プログラムソースコード
import os for folder, subFolder, file in os.walk('sample'): print(folder) print(subFolder) print(file)
実行結果
sample ['subSmaple01', 'subSmaple02', 'subSmaple03'] ['file.txt'] sample/subSmaple01 [] ['file02.txt', 'file01.txt'] sample/subSmaple02 [] ['file03.txt'] sample/subSmaple03 [] ['file05.txt', 'file04.txt', 'file06.txt']
まとめ
この記事ではPythonのosモジュールのwalk関数について解説しました。
ファイルの中身を取得する際に積極的に使用していきましょう。
執筆してくれたメンター
メンターSさん
システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。 JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。 TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。 |
Pythonのosモジュールのwalk関数がよく分かったので良かったです!
ゆかりちゃん、これからも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でも、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。
また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。