所以我在这里做了一个小应用程序,我尝试了块(因为我需要看看文件是否已经存在或者应该被创建)。尽管。。。我的试块不知为什么在重复!我完全不知道为什么会这样。请帮忙?
而且,文件创建得很好:)
代码:
import sys
import time
Version = "V0.1"
def user():
PISBNdat = open("PISBN.dat", "w")
PISBNdat.write(Version)
cuser = raw_input("Please enter account username!")
for line in PISBNdat:
print "Test"
if cuser in line:
print("User already exists! Try again!")
user()
def start():
print "Hello and welcome to Plaz's PISBN!"
print "Opening file..."
time.sleep(0.8)
try:
fin = open("PISBN.dat", "r")
print "Success!"
fin.close()
user()
except:
time.sleep(0.5)
print "Did not recognize/find file!"
time.sleep(0.1)
print "Creating file!"
time.sleep(0.5)
try:
fout = open("PISBN.dat", "w")
print "Success!"
fout.close()
user()
except:
print "Failed!"
exit()
start()
结果是…:
Hello and welcome to Plaz's PISBN!
Opening file...
Did not recognize/find file!
Creating file!
Success!
Please enter account username! [This is what I entered: Plazmotech]
Failed!
显然,既然上面写着“失败!”,这意味着它正在运行我的try block。。。因为那是它唯一能输出“Failed!”所以请帮忙!
最佳答案
只捕获要处理的异常。注意打印“失败!”退出并没有处理异常。Python无论如何都会这么做,而且它会给你一堆关于发生了什么的信息,那么为什么还要编写额外的代码来减少并隐藏问题的原因呢?