python特殊的函数
一、文件操作
1.操作google sheet
credentials_file_path = os.path.abspath("./credentials.json") # 授权:authorize(): 这是 pygsheets 库中的一个函数,用于授权对 Google Sheets 的访问。为了使用 Google Sheets API,你需要有一个有效的 OAuth 2.0 凭据,这个凭据通常是一个 JSON 文件service_file,包含了你的客户端 ID、客户端密钥以及其他认证信息 client = pygsheets.authorize(service_file=credentials_file_path) # 操作exel表格 work_sheets = client.open("failedreason") work_sheet = work_sheets.sheet1 # get_as_df()方法会将工作表中的所有数据转换为一个 Pandas DataFrame data_df = work_sheet.get_as_df()
2.线程池
max_threads = 5 executor = concurrent.futures.ThreadPoolExecutor(max_workers=max_threads)
# 使用了functools.partial
函数来固定create_api_bug
函数的一些参数,并允许你传递额外的参数。具体来说,你固定了create_api_bug
函数的region
、platform
和report_id
参数,并将它们的值分别设置为region
、platform
和report_id
变量的值。
for task in tasks:
executor.submit(partial(create_api_bug, region=region, platform=platform, report_id=report_id, *task))
3.pandas应用
def traverse_bug_info(api_error, error_msg): credentials_file_path = os.path.abspath("credentials.json") client = pygsheets.authorize(service_file=credentials_file_path) work_sheets = client.open("failedreason") work_sheet = work_sheets.sheet1 data_df = work_sheet.get_as_df()
cond = data_df['failed_log'] == api_error #基于failed_log
列的值,筛选出与api_error
匹配的所有行。结果保存在final_df
中。
final_df = data_df[cond]
if final_df.empty:
print(json.dumps("couldn't find match result") + '\n')
return "no match", "", api_error, error_msg
if final_df['reference_failed_reason'].values[0].find("bug") > -1:
return "bug", final_df['feature'].values[0], api_error, error_msg # if final_df['reference_failed_reason'].values[0].find("script issue") > 0: # return "script issue", final_df['debug_msg'].values[0], api_error return "no match", "", api_error, error_msg