FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません

Zeeshan Afridi 2023年10月10日
  1. FileNotFoundError: [WinError 2] The system cannot find the file specified とは何ですか?
  2. FileNotFoundError: [WinError 2] The system cannot find the file specified エラーが Python で発生する理由
  3. Python で FileNotFoundError: [WinError 2] The system cannot find the file specified を修正する方法
  4. まとめ
FileNotFoundError: [WinError 2] 指定されたファイルが見つかりません

Python プログラムで FileNotFoundError が発生した場合、Python コンパイラは開こうとしているファイルを見つけることができません。

ファイルが存在しない場合、ファイルが Python プログラムを実行しているディレクトリとは異なるディレクトリにある場合、またはファイルの名前が予想とは異なる場合など、いくつかの理由で発生する可能性があります。

FileNotFoundError: [WinError 2] The system cannot find the file specified とは何ですか?

FileNotFoundError は、ファイルが見つからない場合に発生するエラーです。 これは、ファイルの削除、移動、名前の変更など、さまざまな理由が考えられます。

ファイルが最初から存在しなかった場合にも発生する可能性があります。

このエラーは、ファイルが見つからない理由を特定するのが難しい場合があるため、対処するのが非常にイライラする可能性があります。 ただし、いくつかのことを確認して問題を解決することができます。

まず、ファイルの場所を確認します。 移動されている場合は、他のフォルダで検索してみてください。

名前が変更されている場合は、別の名前を使用してみてください。 最後に、ファイルが存在しない場合は、作成してみてください。

それでもファイルが見つからない、または修正できない場合は、専門家に連絡することをお勧めします。

FileNotFoundError: [WinError 2] The system cannot find the file specified エラーが Python で発生する理由

アクセスしたいファイルが見つからない場合、FileNotFoundError が発生します。 これは、いくつかの理由で発生する可能性があります。

  1. ファイルが誤って削除された。 ユーザーが誤ってファイルを削除したか、ユーザーまたは別のプログラムがファイルを削除した可能性があります。
  2. ファイルの名前が別の名前に変更されました。
  3. ファイルが別のディレクトリに移動されました。 エラーがシステムごとに異なるため、ファイルは別のドライブに移動されました。 原因は異なる場合があります。
  4. 書かれたコマンドで、そのファイルのパスが間違っている可能性があります。

Python で FileNotFoundError: [WinError 2] The system cannot find the file specified を修正する方法

これは、コンピューターで作業しているときに人々が遭遇する一般的なエラーです。 プログラムが見つからないファイルまたはフォルダーにアクセスしようとすると発生します。

エラー メッセージはわかりにくい場合があり、システムが指定されたファイルを検出できない理由は多数あります。

FileNotFoundError を修正するには、Python がファイルを見つけられない理由を突き止める必要があります。 原因がわかったら、ファイルが存在することを確認する、正しいディレクトリにあることを確認する、Python プログラムでファイルの名前を変更するなど、修正するための手順を実行できます。

コード例:

import subprocess
import os

input = os.path.normcase(r"C:/Users/Vishnu/Desktop/Fortran_Program_Rum/*.txt")
output = os.path.normcase(r"~/C:/Users/Vishnu/Desktop/Fortran_Program_Rum/Output/")
f = open("output", "w")
for i in input:
    exe = os.path.normcase(r"~/C:/Program Files (x86)/Silverfrost/ftn95.exe")
    fortran_script = os.path.normcase(
        r"~/C:/Users/Vishnu/Desktop/test_fn/test_f2py.f95"
    )
    i = os.path.normcase(i)
    subprocess.Popen([exe, fortran_script, "--domain", i])
    f.write(i)

出力:

FileNotFoundError: [WinError 2] The system cannot find the file specified

以下は、Python の FileNotFoundError: [WinError 2] The system cannot find the file specified のさまざまな解決策です。

スラッシュの順序を変更する

スラッシュを間違って使用すると、エラーが表示されることがあります。 それを修正するには、スラッシュ / をバックスラッシュ \ に、またはその逆に変換して、エラーが修正されるかどうかを確認してください。

環境を設定する

  1. まず、環境をアクティブ化します。 デバイスで Anaconda Prompt を開き、そこで環境をアクティブ化します。

  2. その後、次のコマンドを入力できます。

    python –m ipykernel install –user
    
  3. 次に、Jupyter ノートブックを起動し、コードを実行して動作するかどうかを確認します。

環境変数を変更する

環境変数を変更するには、次の手順を実行します。

  1. PC の検索バーでシステム環境変数の編集を検索し、検索結果から選択します。
  2. システムのプロパティ詳細設定 を選択し、一番下にある 環境変数 を選択します。
  3. すべてのプロパティが表示されます。 変更するプロパティを選択し、[編集] をクリックします。
  4. プロパティがディレクトリまたはファイルのリストである場合は、New ボタンを選択し、新しいシステム変数ウィンドウに変数の名前と値を追加します。
  5. その後、OK を選択して変更を適用します。

Python で argv パスを再構成する

数人のユーザーが、このソリューションが彼らの場合にも効果的であることが証明されたと報告しました.

このタイプのエラーは、argv Python パスを再構成することで解決できます。 これらは、この FileNotFoundError を解決するための次の手順です。

  1. まず、デバイスを開き、以下のパスに従ってください。

    /python/share/jupyter/kernels/
    
  2. 次に、kernel.json を開き、次の方法で argv Python パスを設定します。

    "argv": [
    "C:\Anaconda3\python.exe",
    "-m",
    "ipykernel_launcher",
    "-f",
    "{connection_file}"
    ],
    "display_name": "Python 3",
    "language": "python"
    
  1. 最後に、Jupyter ノートブックを起動して、エラーが解決したかどうかを確認します。 コードを実行して、出力を確認します。

コマンド ライン インターフェイスを使用して Python を実行する

  1. コードがシステム パスに設定されていない場合にも、エラーが発生する可能性があります。 Sublime を使用するには、次のコマンドを入力して Python を実行します。

    C:\Users\Admin>python
    Python 3.10.2 (tags/v3.10.2:a58ebcc, Jan 17 2022, 14:12:15) [MSC v.1929 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    

    コマンドを実行した後、Python を実行しようとしている場合は、上記のメッセージが表示されます。

  2. ただし、次のメッセージが表示された場合は、Windows がプログラムの場所を認識していないため、プログラムを実行できないことを意味します。

    C:\Users\Admin>python
    'python' is not recognized as an internal or external command,
    operable program or batch file.
    

シェルを True 引数に再構成する

subprocess モジュールの run メソッドで shell=True 引数を指定するのを忘れた場合、このエラーが発生することがあります。 これを修正するには、shell=True 引数を subprocess モジュールの run メソッドに追加するか、shell=Falseshell=True に変更します。

管理者としてスクリプトを実行する

  1. python.exe のショートカットを作成するには、ファイルを右クリックし、ドロップダウン メニューから [ショートカットの作成] を選択します。

  2. 新しく作成したショートカットを右クリックし、ドロップダウン メニューから [プロパティ] を選択します。

  3. 新しいポップアップ ウィンドウで、Target フィールドを次のように変更します。

    C:\...\...\python.exe yourscript.py
    
  4. ショートカット タブで、詳細設定 をクリックし、管理者として実行 のチェックボックスをオンにします。

  5. 変更を適用し、OK をクリックして保存します。

アンチウイルスを無効にする

このエラーが引き続き発生する場合は、使用しようとしているフォルダーへのアクセスが Windows によってブロックされていないかどうかを確認してください。 これを行うには、次の手順に従います。

  1. スタート メニューの近くにある検索バーで、Windows セキュリティ を検索し、結果リストから選択します。
  2. Windows セキュリティポップアップ ウィンドウでウイルスと脅威の防止を選択します。
  3. ウイルスと脅威の防止設定を選択します。
  4. スライド ボタンを使用してリアルタイム保護をオフにします。
  5. エラーが解決したかどうかを確認します。

まとめ

FileNotFoundError: [WinError 2] The system cannot find the file specified エラー メッセージが表示された場合は、Windows エクスプローラーでファイルにアクセスしようとして問題が発生したことを意味します。

このエラーは、ファイル システムのさまざまな問題が原因で発生する可能性があるため、ハードウェアを交換する前に、問題のトラブルシューティングを試みる必要があります。 この記事では、このエラーに対して考えられるすべての解決策をリストしました。

著者: Zeeshan Afridi
Zeeshan Afridi avatar Zeeshan Afridi avatar

Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.

LinkedIn

関連記事 - Python Error