Python 为什么我的条件不能满足if()子句

Python 为什么我的条件不能满足if()子句,python,command-line-interface,Python,Command Line Interface,我正在编写一个CLI实用程序,用于更新Drupal模块 我在这个过程中遇到了一个障碍,我的脚本不会达到if()条件: if(confirm_delete == 'Yes'): print 'Will delete ' + to_delete_modules.split(',') 我得到的输出如下: 我试图让它打印下面的行,并且不点击,除了语句 print 'Will delete ' + to_delete_module

我正在编写一个CLI实用程序,用于更新Drupal模块

我在这个过程中遇到了一个障碍,我的脚本不会达到
if()
条件:

                if(confirm_delete == 'Yes'):
                    print 'Will delete ' + to_delete_modules.split(',')
我得到的输出如下:

我试图让它打印下面的行,并且不点击
,除了
语句

print 'Will delete ' + to_delete_modules.split(',')

有人在这里看到什么东西吗?

您有
TypeError:无法在行中连接'str'和'list'对象

'Will delete ' + to_delete_modules.split(',')
您不能将“str”与
返回的“list”连接起来以删除模块。拆分(',')
。 如果打印出异常,您应该能够看到该错误消息:

try:
    ...
    print 'Will delete ' + to_delete_modules.split(',') 
except Exception as e: 
    print 'An error occured, please contact author.'
    print e  # TypeError: cannot concatenate 'str' and 'list' objects

您有
TypeError:无法在行中连接'str'和'list'对象

'Will delete ' + to_delete_modules.split(',')
您不能将“str”与
返回的“list”连接起来以删除模块。拆分(',')
。 如果打印出异常,您应该能够看到该错误消息:

try:
    ...
    print 'Will delete ' + to_delete_modules.split(',') 
except Exception as e: 
    print 'An error occured, please contact author.'
    print e  # TypeError: cannot concatenate 'str' and 'list' objects

你的代码达到了if的要求。它在if块内捕获代码中的异常
if
不需要括号。您的代码可以很好地到达if。它在if块内捕获代码中的异常,
if
不需要括号。@user2107529您为什么更改问题,是否遇到了另一个问题?更好的方法是:完全删除except子句,直到您知道如何正确处理异常…@brunodesshuilliers我同意,“尝试例外”在OP的源代码中,我这样做只是为了建议他打印例外,然后他会看到错误。@PaulLo我的评论主要是给OP的建议,抱歉我没说清楚…@Brunodesshuilliers不介意,OP更新了一点问题,所以他的代码片段不如源代码完整,我希望后来的一些观众不会觉得奇怪。@user2107529为什么你要改变这个问题,你遇到了另一个问题吗?更好的办法是:完全删除EXPEPT子句,直到你知道如何正确处理异常…@Brunodesshuilliers我同意,“尝试例外”在OP的源代码中,我这样做只是为了建议他打印例外,然后他会看到错误。@PaulLo我的评论主要是给OP的建议,抱歉我没说清楚…@Brunodesshuilliers不介意,OP更新了一点问题,所以他的代码片段不如源代码完整,我希望后来的一些观众不要觉得奇怪。