2017-02-14 41 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

相關問題