私はPythonで新しくなっていますので、私にご負担ください。私は基本的にはこのようになりますpython-pyserial
と私の3Gドングルにキャリア名を確認するためのスクリプトを書いた:Python - TypeError: 'NoneType'型の引数が反復不可能です
def get_operator():
ID_OPSEL=('51011:XL-Axiata','51010:Telkomsel','51089:Three','51001:Indosat','INDOSAT:Indosat','51008:Axis','TELKOMSEL:Telkomsel')
if TYPE=="ZTE":
resp=send_at_wait('AT+COPS?','+COPS:',3)
if resp<>"TIMEOUT":
resp=get_value(resp,'+COPS:')
return resp.spilt('"')[1]
else:
resp= send_at_wait("AT+COPS?; +COPS?\r","+COPS:",3)
if resp<>"TIMEOUT":
resp=get_value(resp,'+COPS:')
resp=resp.split(',')
if len(resp)>2:
resp=resp[2].replace('"','')
for ln in ID_OPSEL:
if ln.find(resp)<>-1:
return ln.split(':')[1]
else:
return "Not Registered"
op=get_operator()
if "Not Registered" in op:
print "No Signal"
else:
print "Operator Name: " + op
受信すべてが正常に動作しますが、何のreciptionはありませんときにスクリプトが返されますがあります:
Traceback (most recent call last):
File "/usr/bin/gsm", line 639, in <module>
if "Not Registered" in op:
TypeError: argument of type 'NoneType' is not iterable
どうすれば修正できますか?