Pythonにおけるno such file or directoryエラーの回避方法を現役エンジニアが解説【初心者向け】

初心者向けにPythonにおけるno such file or directoryエラーの回避方法について現役エンジニアが解説しています。FileNotFoundErrorは、存在しないファイルやディレクトリにアクセスしようとした際に発生する例外です。ディレクトリの移動の際にも発生します。

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

Pythonにおけるno such file or directoryエラーの回避方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して、初心者向けに解説します。

 

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

 

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

 

田島悠介

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

大石ゆかり

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

田島悠介

Pythonにおけるno such file or directoryエラーの回避方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

no such file or directoryエラーとは?

FileNotFoundError(エラーメッセージはno such file or directory)は、存在しないファイルやディレクトリにアクセスしようとした際に発生する例外です。
 

no such file or directoryエラーが発生する原因

例1 存在しないファイルを開こうとした場合

open('tmp.txt')

ファイルtmp.txtが存在しない状態でコードを実行すると、以下の例外が発生します。

FileNotFoundError: [Errno 2] No such file or directory: 'tmp.txt'

エラーメッセージの通り、tmp.txtファイルが存在しないため、例外になります。
 

例2 存在しないディレクトリに移動しようとした場合

import os
os.chdir('tmp')

os.chdirは指定のディレクトリに移動するメソッドです。
ディレクトリtmpが存在しない状態で上記のコードを実行すると、以下の例外が発生します。

FileNotFoundError: [Errno 2] No such file or directory: 'tmp'

エラーメッセージの通り、tmpディレクトリが存在しないため、例外になります。
 

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

no such file or directoryエラーを発生させないために正しい記述を理解する

上記の例で見たように、アクセスしようとするファイルやディレクトリが存在しないことが原因です。

解決するには、処理方式として正しいか、ファイルやディレクトリの名前が正確か、といった点を確認します。

例外の発生がやむをえない場合には、try-except構文を用いてFileNotFoundErrorを捕捉し、適宜エラー処理します。
 

監修してくれたメンター

橋本紘希(はしもとひろき)

システムインテグレータ企業勤務のシステムエンジニア。

開発実績: Javaプログラムを用いた業務用Webアプリケーションや、基幹システム用バッチアプリケーションなどの設計構築試験。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

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

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