运行代码时出错

时间:2018-05-09 15:02:20

标签: python

大家都不知道这是否是重复的问题。

f = open( "data/summarizetext.txt", "r" )
lines = []
for line in f:
lines.append(line)
f.close()
lines = lines.replace('\r', '')
print(lines)

但是当我运行显示

的代码时
AttributeError: 'list' object has no attribute 'replace'

请指导我。

3 个答案:

答案 0 :(得分:0)

replace方法将与字符串一起使用,而不是与列表一起使用。要对列表中的每个字符串执行操作,可以使用简单的列表解析。

这将有效:

lines = [[x.replace('\r', '') for x in y] for y in lines]

答案 1 :(得分:0)

[['[',“','a',''',',','',''','c','l','o','s','e ',''',',','',''','u','p',''',',','',''','o','f',''' “,',','',''','a',''',',','',''','p','e','r','s','o ','n',''',',','',''','h','o','l','d','i','n','g',“ '“, ',', ' ', “'“, '一双', ” ',',','',''','o','f',''',',','',''','s','c','i',' s','s','o','r','s',''',']','','','[',''','a',''',' ,','',''','c','l','o','s','e',''',',','',''','u',' p',''',',','',''','o','f',“'”,',','',''','a',''',' ,','',''','p','e','r','s','o','n',''',',','',''',' o','n',“'”,',','',''','a',''',',','',''','p','a','我','r',''',',','',''','o','f',''',',','',''','s',' k','i','s',''',']','','','[',''','a',''',',','',''' “, '特写', ”'”, ' ,','',''','o','f',''',',','',''','a',''',',','',''' “,'p','e','r','s','o','n ',''',',','',''','h','o','l','d','i','n','g',“'”,' ,', ' ', “'“, '一双', ”'”, ' ,','',''','o','f',''',',','',''','s','k','i','s',“ '',']','','\ n']]

现在结果是:P

答案 2 :(得分:0)

在您的代码中,lines是一个列表,而replace方法适用于str

将您的行replace更改为:

lines = [line.replace('\r', '') for line in lines]

这将连接一个字符串列表,并对每个字符串应用replace调用。