私は、(開くべきファイルの)ファイル名を入力するためのプロンプトが表示され、そのファイルが現在のディレクトリに存在しない場合は、再度プロンプトが表示されます。 (それは「期待」の下にスイートを実行)私はわざと間違ったファイル名を入力すると、それは完全に罰金働い3.3倍Pythonの "open()"は "ファイルが見つかりません"という異なるエラーを投げます - 両方の例外をどのように処理するのですか?
file = input("Type filename: ")
...
try:
fileContent = open(filename, "r")
...
except FileNotFoundError:
...
私はPythonで私のMacOS X上で私のスクリプトをテストする場合:ここではショートバージョンがあります。
しかし、コード をPython 3.2xのWindowsコンピュータで実行したいとき、「FileNotFoundError」が定義されていないというエラーが表示されます。したがって、WindowsのPython 3.2では、 "FileNotFoundError"が変数であると考えられ、プログラムはエラーで終了します。
私は、入力ファイル名が有効でない場合、WindowsのPython 3.2では "IOError"がスローされることを知りました。私はLinuxマシンでPython 2.7でテストしましたが、IOErrorでもあります。
私の問題は
except "FileNotFoundError":
とのコードは、WindowsのPythonの3.2上で実行されませんが、私は
except "IOError":
に変更した場合、それは私のMac上で動作しないこと、今ありますもう
どうすれば回避できますか?私が考えることができる唯一の方法は、私が通常望まない、 except
を使うことです。
これはMac/Windowsのためではありません。これはPythonの*バージョン*です。私はOS Xでも3.2/3.3を調査し(Windowsでは3.3)、変更ログを参照して、必要に応じて質問/タイトルを修正します。 –