我正在制作一个python应用程序,我想从网上读取一个文件。 这是我用来读它的代码:
urllib2.urlopen("http://example.com/check.txt").read()
一切都很好但是当我将它指向一个不存在的URL时,它会提供HTTP 404:找不到错误,这是正常的。
问题是该应用程序旨在用于Windows,因此,它将被编译。 在Windows上,当应用程序尝试从不存在的URL获取文件时,应用程序会崩溃并给出错误窗口+它会创建一个包含HTTP 404的日志:找不到错误。
我试图逃避这个错误,但我失败了。这是完整的代码:
import urllib2
file = urllib2.urlopen("http://example.com/check.txt")
try:
file.read()
except urllib2.URLError:
print "File Not Found"
else:
print "File is found"
拜托,如果你知道如何逃避这个错误,请帮助我。
答案 0 :(得分:0)
你应该在urlopen周围应用try..except,而不是读取。
试试这个
import urllib2
try:
fh = urllib2.urlopen('http://example.com/check.txt')
print fh.read()
except urllib2.HTTPError, e:
print e.code
except urllib2.URLError, e:
print e.code