Python函数未返回任何值
当我调用上面的函数时,在主程序中它没有返回。为什么? 我期待着像报告:COMM 0628 SCTP协会建立的CTB08:DATA:01002A%000001这样的输出。030DED%000A14%000A0A%000A14%000AEA%010DED%:m2pa链路Python函数未返回任何值,python,Python,当我调用上面的函数时,在主程序中它没有返回。为什么? 我期待着像报告:COMM 0628 SCTP协会建立的CTB08:DATA:01002A%000001这样的输出。030DED%000A14%000A0A%000A14%000AEA%010DED%:m2pa链路 但我没有得到任何替代m2pa链路的条件。两个条件显然都不满足。如果您想要返回一个默认值,也许您应该在两个If条件之后添加一个return 该代码很难阅读,请格式化。谢谢。如果条件不匹配,函数将结束,这将导致隐式的返回None。首先用
但我没有得到任何替代m2pa链路的条件。两个条件显然都不满足。如果您想要返回一个默认值,也许您应该在两个If条件之后添加一个return 该代码很难阅读,请格式化。谢谢。如果条件不匹配,函数将结束,这将导致隐式的
返回None
。首先用字母字符填充arr2。然后在arr2中搜索字母数字字符串。所以,当然,你什么也找不到!由于在同一个if语句中填充了arr3,所以在arr3中也找不到任何内容,因为它从不填充,并且是空的。
def ipr_628(a):
as1=a.split(" ")
if (as1[0][5:7] == "01"):
return "m2pa link"
if (as1[0][5:7] == "02"):
return "m3ua asp"
import re
arr1=[]
with open ("C:\\Users\\bb0066029\\Desktop\\IPR3.txt","rt") as k:
arr=k.read().split("\n")
arr2=[]
for j in arr:
if (re.match("[a-zA-Z|\s]+",j)):
arr2.append(j.strip())
arr3=[]
arr4=[]
for l in arr2:
if "0629 SCTP ASSOCIATION TERMINATED" in l or "0628 SCTP ASSOCIATION ESTABLISHED" in l or "0662 SCTP PATH UP" in l :
str1=(arr2[arr2.index(l)+5])
print (type(str1))
print ((ipr_628(str1)))
t=re.sub("\s+"," ",l)+":"+arr2[arr2.index(l)+5]+":"+str(ipr_628(str1))
arr3.append(t)
#arr4.append(arr2[arr2.index(l)+5])
continue
for c in arr3:
with open("C:\\Users\\bb0066029\\Desktop\\mean.txt","at") as d:
d.write(c)
d.write("\n")
d.close()