执行
line =  sys.stdin.readline().strip()
语句之后,line的类型变成了list,而后面的判断语句
if line == '':
判断的类型为str,两者类型不一致,所以无法进入判断语句。将两者的类型统一即可解决,测试代码如下:
while True:
        try:
            str1 = raw_input().split('~')
            print type(str1)
            if str1 == [' ']:
                break
            print str1
        except:
            break