# -*- conding:utf-8 -*-
import requests,re,json,time
from requests import ReadTimeout
Ding_url = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxxx'
Ding_headers = {
"Content-Type": "application/json ;charset=utf-8 "
}
url = 'http://www.123.com.cn/'
req = requests.get(url).text
url_list = re.findall('href="(.*?)"',req,re.S)
urls = ['http://www.123.com.cn/']
for ul in url_list:
if ul not in urls:
urls.append(ul)
def status():
for i in urls:
if 'show' in i:
# i = ent_url + i
try:
html_status = requests.head(url = i , timeout=30)
status_codes = html_status.status_code
content_print = str(status_codes) +' ' + str(i)
time.sleep(1)
except:
status()
return status_codes
def datas(content_print):
datass = {"msgtype": "text", "text": {"content": content_print}, "at": {"atMobiles": [], "isAtAll": False}}
#print(type(datass))
String_textMsg = json.dumps(datass)
req = requests.post(Ding_url, data=String_textMsg, headers=Ding_headers).text
#print(req)
#print(String_textMsg)
print('发送内容:', String_textMsg)
return String_textMsg
def TorF(status):#,title
if status() == 200:
datas(status())
return status
num = 1
while num < 99999999999:
TorF(status())
num += 1
time.sleep(5)
print('已执行第 ' + str(num) + ' 次')
代码大致如上,定义了三个函数status、datas、TorF。
datas需要用到status里return的content_print值,TorF需要用到status里return的status_codes值,
TorF需要对status_codes进行判断,然后根据判断结果调用datas函数。
我的需求是几个函数互相调用,然后写出了上面的代码,可是在一个函数引用另一个函数的return值是总是找不到,
问题是多个自定义函数return的值,如何互相引用?如果一个函数return了两个值该怎么引用?
一个函数return两个或者多个返回值就相当于返回了一个tuple,使用tuple下标就可以了。举个简单的例子:
def multiRtn():
a = 0
b = 0
return a,b
要引用a那就是这样引用:
rtn = multiRtn()
my_a = rtn[0]
需要先把函数赋值,然后再用下标调用吗?如果只是return一个值,是直接赋值就行了?
@会发光: 是的
例如有一个函数
def fun():
a = 0
return a
要调用fun()这个函数,那就是
mya = fun
运行结果就是mya = 0
@summerise8090: 感谢感谢,搞明白啦