2017-02-14 37 views
0

我试图做一个功能,但我有以下问题:错误写有“LEN(LST)”的文件时,当它为空

File "/home/python/functions.py", line 298, in function 
    fileout.write("%i \n\n")%(len(lst_one)) 
TypeError: unsupported operand type(s) for %: 'NoneType' and 'int' 

#lst_one在脚本中正确定义。我认为这是因为lst_one仍然是空的,所以%i不起作用(%s也不起作用)。

有没有办法避免TypeError?

+0

@DeepSpace更好,使用'.format'方法! –

+0

噢,太棒了..谢谢 – santimirandarp

+0

@DeepSpace什么是.format?无论如何,谢谢 – santimirandarp

回答

1

它与lst_one为空(只要通过“空”表示一个表情符号列表或字符串)无关。你错了')'。
fileout.write("%i \n\n") % (len(lst_one))应该是
fileout.write("%i \n\n" % (len(lst_one)))

或使用字符串格式化一个更方便的方法:
fileout.write("{} \n\n".format(len(lst_one)))
@ juanpa.arrivillaga的意见建议。

+0

太好了。现在我会尝试一下。什么意思{}? – santimirandarp

+0

@santimirandarp请参阅文档:https://docs.python.org/3.4/library/stdtypes.html#str.format – DeepSpace

+0

它的工作原理,谢谢两个 – santimirandarp

相关问题