9

重複の可能性:
Python を使用してファイルが存在するかどうかを確認するにはどうすればよいですか?

私は一種のPython学習初心者ですが、C:\ではなくZ:\のように存在しない無効なパスを誰かが入力しすぎた場合に処理したいこのビットのコードを取得しました。なんらかのエラーが発生しました。どうすればよいかわかりましたが、無効かどうかを確認する方法がわかりません。パスを作成する前に、このPCにそのドライブまたはパスが存在するかどうかをコードで確認するにはどうすればよいですか?Pythonでそれを行う方法はありますか?

website_path = input("\nEnter the absolute path for your website: ")

どんなアドバイスも素晴らしいでしょう、ありがとう。

4

2 に答える 2

7

これを処理するPythonの方法は、「許可ではなく、許しを求める」ことです。取得したパスで実行しようとしていた操作(ファイルを開くなど)を実行し、呼び出している関数に適切な例外を発生させるだけです。 。次に、例外処理を使用して、エラーメッセージをよりユーザーフレンドリーにします。

そうすれば、すべてのチェックがちょうど間に合うようになります。事前のチェックは信頼できません。他のプロセスがファイルを削除する直前に、ファイルが存在するかどうかを確認するとどうなりますか?

于 2012-09-25T13:05:17.357 に答える
2

私はあなたがこのようなものを探していると思います。tryとexceptを使用して、動作するかどうかをテストできます。また、exceptブロックで特定の例外を処理することもできます。(urlopenは失敗したときに1つを返すと確信しています)

from urllib import urlopen
website_path = raw_input("\nEnter the absolute path for your website: ")
try:
    content = urlopen(website_path).read()
    print "Success, I was able to open: ", website_path 
except:
    print "Error, Unable to open: " , website_path
于 2012-09-25T13:20:07.423 に答える