Python 2.7 Python TypeError:只能将列表(而不是“str”)连接到列表

Python 2.7 Python TypeError:只能将列表(而不是“str”)连接到列表,python-2.7,beautifulsoup,Python 2.7,Beautifulsoup,我有一个方法,它使用Beautifulsoup从HTML文件的标记返回文本列表。 当我调用该方法时,我将从该方法返回的值保存到一个变量中。 我认为这是一个字符串变量。 我再次调用该方法,并将返回值存储到另一个字符串变量中。 我想连接这两个字符串,以便在换行符上打印每个字符串。然后我可以将其添加到我的电子邮件例程中,以便它将值打印到电子邮件消息中 我得到一个错误: Traceback (most recent call last): File "E:/test_runners/selen

我有一个方法,它使用Beautifulsoup从HTML文件的标记返回文本列表。 当我调用该方法时,我将从该方法返回的值保存到一个变量中。 我认为这是一个字符串变量。 我再次调用该方法,并将返回值存储到另一个字符串变量中。 我想连接这两个字符串,以便在换行符上打印每个字符串。然后我可以将其添加到我的电子邮件例程中,以便它将值打印到电子邮件消息中

我得到一个错误:

   Traceback (most recent call last):
  File "E:/test_runners/selenium_regression_test_5_1_1/ClearCore - Regression Test/Email/email_selenium_report.py", line 43, in <module>
    print rows_part1 + "/n" + rows_part2
TypeError: can only concatenate list (not "str") to list
调用该方法的步骤如下:

rows_part1 =  report.extract_data_from_report3(r"E:\test_runners\selenium_regression_test_5_1_1\TestReport\SeleniumTestReport_part1.html")
print "part1 = "
print rows_part1

rows_part2 =  report.extract_data_from_report3(r"E:\test_runners\selenium_regression_test_5_1_1\TestReport\SeleniumTestReport_part2.html")
print "part2 = "
print rows_part2

print rows_part1 + "/n" + rows_part2
第1部分第1行中的值为:

 part1 = 
[{u'Success': u'219', u'Skip': u'0', u'Error': u'9', u'Fail': u'1', u'Total': u'229', u'Class': u'Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2'}]
第2部分第2行中的值为:

 part2 = 
[{u'Success': u'21', u'Skip': u'0', u'Error': u'10', u'Fail': u'5', u'Total': u'230', u'Class': u'Regression_TestCase.RegressionProject_TestCase2.RegressionProject_TestCase2'}]
我想打印第1部分的行值,然后换行打印第2部分的行值。 我连接它,这样我就可以把一个变量放在电子邮件正文中,它将打印出值

或者如何从列表中提取内容并将其附加到字符串变量?
然后我可以打印出字符串变量。

首先,在Python中,您不必声明变量类型,它是在后台分配的。这让您对变量类型感到困惑

返回一个列表

[……]

我认为是字符串变量

print语句正在尝试打印列表类型对象,然后是新行,然后是另一个列表类型对象。您的问题来自\n中间的问题

可以通过以下方式连接两个字符串:str1+str2

可以使用以下命令连接两个列表:list1.appendlist2

但是将字符串连接到列表或将列表连接到字符串是不正确的!您需要做的是将列表对象转换为该列表的字符串

print str(rows_part1) + "/n" + str(rows_part2)

应该可以工作。

首先,在Python中,不必声明变量类型,它是在后台分配的。这让您对变量类型感到困惑

返回一个列表

[……]

我认为是字符串变量

print语句正在尝试打印列表类型对象,然后是新行,然后是另一个列表类型对象。您的问题来自\n中间的问题

可以通过以下方式连接两个字符串:str1+str2

可以使用以下命令连接两个列表:list1.appendlist2

但是将字符串连接到列表或将列表连接到字符串是不正确的!您需要做的是将列表对象转换为该列表的字符串

print str(rows_part1) + "/n" + str(rows_part2)

应该有用。

是的,这很好,我需要将列表对象转换为该列表的字符串。现在可以了。谢谢。请注意,对于字符串版本,您不能对它们进行迭代,或者对列表执行任何通常可以执行的操作。此外,这不是一个容易逆转的过程,liststr将简单地创建一个包含整个字符串的单项目列表是的,这很好,我需要将列表对象转换为该列表的字符串。现在可以了。谢谢。请注意,对于字符串版本,您不能对它们进行迭代,或者对列表执行任何通常可以执行的操作。此外,这不是一个容易逆转的过程,liststr将简单地创建一个包含整个字符串的单项目列表