Измените это на
# for Python 2.5+
import sys
try:
d = open("p0901aus.txt","w")
except Exception, ex:
print "Unsuccessful."
print ex
sys.exit(0)
# for Python 3
import sys
import codecs
try:
d = codecs.open("p0901aus.txt","w","utf-8")
except Exception as ex:
print("Unsuccessful.")
print(ex)
sys.exit(0)
W чувствительна к регистру. Я не хочу поражать вас всем синтаксисом Python одновременно, но вам будет полезно узнать, как отобразить, какое исключение было вызвано, и это один из способов сделать это.
Кроме того, вы открываете файл для записи, а не для чтения. Это то, что вы хотели?
Если уже существует документ с именем p0901aus.txt и вы хотите его прочитать, сделайте следующее:
#for Python 2.5+
import sys
try:
d = open("p0901aus.txt","r")
print "Awesome, I opened p0901aus.txt. Here is what I found there:"
for l in d:
print l
except Exception, ex:
print "Unsuccessful."
print ex
sys.exit(0)
#for Python 3+
import sys
import codecs
try:
d = codecs.open("p0901aus.txt","r","utf-8")
print "Awesome, I opened p0901aus.txt. Here is what I found there:"
for l in d:
print(l)
except Exception, ex:
print("Unsuccessful.")
print(ex)
sys.exit(0)
Конечно, вы также можете использовать кодеки в Python 2.5, и ваш код будет более качественным («правильным»), если вы это сделаете. Похоже, что Python 3 рассматривает метку порядка байтов как нечто среднее между любопытством и шумом линии, что является обломом.