Python-根据If语句的结果运行命令

时间:2018-11-13 18:53:18

标签: python

我对Python相当陌生,来自JavaScript背景,我熟悉捕获命令输出(成功,错误)并链接结果以指示应用程序的下一个命令。有没有办法在Python中做类似的事情?

例如,我正在使用gspread软件包与Google表格进行交互。我正在运行命令gc.open(*Name*),该命令在提供字符串(*Name*)时会搜索Google表格,但是如果此操作没有返回值或返回错误,则SpreadsheetNotFound: ,那么我将创建一个具有gc.create(*Name)条件的工作表。我当时正在尝试使用try / exception,但感觉好像是错误地尝试了它。

这是我希望实现的目标:

if (API Call Finds the Sheet):

    Set regression_output = sheet

else:

    Set regression_output = creation of sheet with specified name

当前代码:

open_regression_output_sheet = gc.open(file_name)

for value in open_regression_output_sheet:
    try:
        regression_output = print("Test")
    except:
        regression_output = print("Error")

错误:

SpreadsheetNotFound: 

2 个答案:

答案 0 :(得分:0)

这样的逻辑故障如何:

try:
    open_regression_output_sheet = gc.open(file_name)
except:
   print 'SpreadsheetNotFound raised, creating new spreadsheet'
   open_regression_output_sheet = gc.create('A new spreadsheet')

答案 1 :(得分:0)

使用try / except时,您处在正确的轨道上,但请特别注意回溯表明发生异常的位置。我猜这实际上是 引发异常的open_regression_output_sheet = gc.open(file_name)行。

如果是这种情况,则需要将该行换成try / except之类的

try:
    open_regression_output_sheet = gc.open(file_name)
except SpreadsheetNotFound:
    # handle the exception or whatever
else:
    for value in open_regression_output_sheet:
        ...