# coding=utf-8
# -*- coding:utf-8 -*-
import gradio as gr
import pandas as pd
import requests
with gr.Blocks() as demo:
def get_str(label):
url1="http://127.0.0.1:8889/login"
request_data=f'''{url1}?label={label}'''
resp=requests.get(request_data).text
print(resp)
return(resp)
with gr.Tab(“Lion”)
# 设置一个下拉框用来选择excel文件
num=gr.Textbox(value='输入数据',label='输入调用的数据')
# 设置一个按钮 更新表格内容
gr.Button(“获取接口调用结果”)
# 设置一个Dataframe 表格用来展示excel表的内容
excel_df=gr.Dataframe(headers=None)
#写一个调用函数,当按下”更新表格”的按钮后,读取对应文件,并更新表格内容
def read_excel(i):
# 支持多行输入,按行分为list集合
my_list=i.splitlines()
my_dict={}
# 遍历输入list然后获取接口结果
for item in my_list:
print(item)
my_dict[item]=get_str(item)
print(my_dict)
# 转换字典格式为dataframe
my_df=pd.Dataframe.from_dict(my_dict,orient='index',columns=['接口结果'])
my_df=my_df.reset_index().rename(column={'index':'输入'}
return {
excel_df:my_df
}
lion_button.click(
read_excel,
num,
excel_df
)
with gr.Tab(“Tiger”):
gr.Button(“new Tiger”)
gr,close_all()
# 因为在虚拟机中启动,而不是pycharm 所以指定主机ip (1.1.1.1)和端口号,如果是在pycharm 中,无需指定
demo.launch(server_name=“1.1.1.1”,server_port=7860,share=True,inbrowser=True)