所以我在这里做了一个小应用程序,我尝试了块(因为我需要看看文件是否已经存在或者应该被创建)。尽管。。。我的试块不知为什么在重复!我完全不知道为什么会这样。请帮忙?
而且,文件创建得很好:)
代码:

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无论如何都会这么做,而且它会给你一堆关于发生了什么的信息,那么为什么还要编写额外的代码来减少并隐藏问题的原因呢?

10-07 15:15