Skip to main content
 首页 » 编程设计

python之格式化python字符串中的换行符

2025年05月04日13findumars

我有一个字符串:

f = open("file.txt", r) 
message = f.read() 
 
print message 
>>> "To: email\ntitle: add title here\nDescription: whatever here\n" 

我可以通过以下方式拆分字符串:

f_email, f_title, f_description, blank = message.split('\n') 

但是当我收到这样的消息时,问题就出现了:

"To: email\ntitle: add title here\nDescription: first line\nSecond line\nthirdline\n" 

当我拆分字符串时,它也会拆分描述。我试过:

f_email, f_title, f_description, blank = message.split('\n',4) 

但这显然会返回 ValueError,因为它拆分了更多的 4\n。

有什么建议吗?

请您参考如下方法:

当您运行 .split('\n') 时,您会返回一个列表。您可以将它们从列表中拉出,而不是在拆分时分配变量:

tokens = message.split('\n') 
f_email = tokens[0] 
f_title = tokens[1] 
f_description = tokens[2] 

可以通过检查列表的大小来降低它的脆弱性。如果您知道它至少需要三个元素,您可以:

assert(len(tokens)>=3) 

解决这个问题的另一种方法是将事情包装在 try/except block 中:

tokens = message.split('\n') 
try:   
    f_description = tokens[2] 
except: 
    f_description = None 

这样您就可以按照自己喜欢的方式处理更短列表的情况!