繁体   English   中英

如何使 PYTHON 中的 try 函数只执行一次而 except 执行多次?

[英]How to make try function in PYTHON execute only once while except executes many times?

如果“尝试”正确且不显示错误,如何让我的脚本只打印一次“数字”?

当它出错时,我希望它继续尝试并打印(“错误。尝试:”+ str(x))。 但如果一切顺利,我希望它只打印(数字)一次。

制作此脚本是为了跟踪在文件夹中创建某个 excel 电子表格的时间。 当它在文件夹中时,我希望脚本打印(数字)。

问题是当 excel 已经在文件夹中时,脚本会继续打印 (number) 16 次,直到 num_retries 完成。

num_retries = 16
interval = 2

for x in range(1, num_retries): 
    try:
        result = open("I:/workbook.xls")
        import xlrd
        workbook = xlrd.open_workbook("I:/workbook.xls")
        worksheet = workbook.sheet_by_name("sheet1")
        number = worksheet.cell(3, 13).value
        print(number)

    except:
        sleep(interval)
        print("Error. Attempt: " + str(x))
        pass

谢谢!

在您的print(number)之后添加break以便当它跳出循环时获得正确的数字。 你的代码是这样的:

for x in range(1, num_retries): 
    try:
        result = open("I:/workbook.xls")
        import xlrd
        workbook = xlrd.open_workbook("I:/workbook.xls")
        worksheet = workbook.sheet_by_name("sheet1")
        number = worksheet.cell(3, 13).value
        print(number)
        break

    except:
        sleep(interval)
        print("Error. Attempt: " + str(x))
        pass

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM