晚上的时候,在写一个python小脚本,从语料中提取出转折复句。结果在提取的转折复句里面,出现了大量不是转折复句的,而且还有许多转折复句并没有被提取出来。这个程序很简单,就是一个for循环里用个if语句。我花了一个小时半去找原因,最后还是问了别人才找到了原因。
以前看别人写代码,总是会在进行语料分析之前,经常使用strip()函数。我知道这是一个去除段首段尾空白字符的,包括回车、空格、制表符等。但是,从没留意过为什么要这样做,觉得是可有可无的习惯性操作。现在才算明白了。如果文本中含有大量的空白字符或者换行符,会产生莫名其妙的问题。
strip()函数,可以去除字符串首尾的空白,但不能去除中间的。对于语料来说,有必要用readlines()读取语料后逐行去除。这应该算是一个很好的习惯,可以保持语料的整齐和干净。
我想,我还是写的代码太少。