import gradio as gr import os from zipfile import ZipFile years = ["1985", "1986", "1987", "1988", "1989", "1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", "1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", "2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013", "2014", "2015", "2016", "2017", "2018", "2019", "2020", "2021"] months = ["all", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"] files_path = os.path.join("/data", "all_judgement") def zip_csv_files(directory_path, zip_filename): csv_files = [file for file in os.listdir(directory_path) if file.endswith('.csv')] with ZipFile(zip_filename, 'w') as zipf: for csv_file in csv_files: file_path = os.path.join(directory_path, csv_file) zipf.write(file_path, csv_file) def get_file(year_index, month_index): file_path = os.path.join(files_path, years[year_index]) name = str(years[year_index])+'年'+ str(months[month_index] + "月") text = "File not exit! Change the path plz, sister.Meng: " if months[month_index] == "all": directory_to_zip = file_path zip_file_name = str(years[year_index])+'年'+ "all.zip" zip_csv_files(directory_to_zip, zip_file_name) name = zip_file_name text = "都压缩起来了奥,文件可能嘎嘎大!稍微等会萌子姐: " + name return text, zip_file_name else: file_path = os.path.join(file_path, name+".csv") if not os.path.exists(file_path): text = text + name return text, os.path.join("/data", "all_judgement", "readme.md") else: text = "马上就好奥萌子姐: " + name return text, file_path output_component = gr.File() input_component = [ gr.Dropdown(years, type="index", label="years", value="2021"), gr.Dropdown(months, type="index", label="months", value="all")] demo = gr.Interface(fn=get_file, inputs = input_component, outputs = ["label", output_component], cache_examples=True, title="输入年月查询") demo.launch(share=True, server_name='0.0.0.0', server_port=8043, show_api=True)