2013-05-10 92 views
1

当我尝试在以下情况下使用strip()时,输出有点不同。python strip()从文件中读取行

for line in tagfile: 
    tag_name = line.strip("<>") 
    print tag_name 

输出 strike>

,但如果我用下面的方法

tag_name = "<strike>" 
print tag_name.strip("<>") 

输出 strike

如果谁可以帮助吗?

回答

3

这是由于换行符的换行符,strip并没有超出它,因为您没有将换行符指定为令牌。试试这个:

for line in tagfile: 
    tag_name = line.strip("<>\n") 
    print tag_name 

或使用本:

for line in tagfile: 
    line = line.rstrip() 
    tag_name = line.strip("<>") 
    print tag_name 
+0

它的工作原理,但只有在“\ n”是旁边的“>”,当它们之间的空间,它失败。 – Vimos 2013-05-10 08:49:12

+0

好吧,line = line.rstrip()是个好主意。谢谢你们! – Vimos 2013-05-10 08:55:57