Pythonのosモジュールのwalk関数について現役エンジニアが解説【初心者向け】

初心者向けにPythonのosモジュールのwalk関数について現役エンジニアが解説しています。osモジュールとはosに関するモジュールで、ファイルやフォルダのパスの取得や作成・削除などを行うことができます。walk関数とは、指定したフォルダの中のファイルを取得する関数です。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

Pythonのosモジュールのwalk関数について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

Pythonについてそもそもよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まるでしょう。

 

なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。

 

田島悠介

今回は、Pythonに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

Pythonのosモジュールのwalk関数について詳しく説明していくね!

大石ゆかり

お願いします!

この記事ではPythonのosモジュールのwalk関数について解説します。

目次

 

osモジュールとは

Pythonのosモジュールは名前の通りosに依存するいろいろな機能を利用するためのモジュールです。

osモジュールを使うには以下のようにインポート文を書く必要があります。

import os

ファイルやフォルダの一覧を取得したり、パスの取得、ファイルやフォルダの作成/編集/削除が可能です。

 

[PR] Pythonで挫折しない学習方法を動画で公開中

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では、初心者でも最短4週間で、Pythonを使った人工知能(AI)や機械学習の基礎を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。