我要在哪里打印出来:
“ HTTP错误”
成功错误
401:未经授权的
因此,基本上,我创建了一个名为def create_error_dictionary(error_codes,error_description)的函数,它的作用是将error_codes的数量和error_descriptions中的字符串作为数字,并使其成为字典的键,字符串,字典的值。然后将字典返回到主字典,在def get_error_code_information(error,error_code_dictionary,error_category_dictionary)中使用该字典。此功能将打印出
HTTP错误
成功错误
401:未经授权
2 .split()部分是分割'status:HTTP / 2.401',以便列表看起来像这样:['2','401']之后,我做了一个for循环,将类型从str更改为int,以便可以在我的print语句中使用它进行索引。但是问题是,当我运行时,存在TypeError:'int'对象不可下标。我一直在坚持如何打印此信息,并且我想知道是否有一种方法可以使我从create_error_dictionary转到get_error_code_information,而无需深入了解主要内容。
def create_error_dictionary(error_codes, error_descriptions):
error_code_dict = {}
v = 0
for i in error_codes:
error_code_dict[i] = error_descriptions[v]
v += 1
return error_code_dict
def get_error_code_information(error, error_code_dictionary, error_category_dictionary):
split_num_HTTP_error = error.split('/')
split_num_error = split_num_HTTP_error[1].split('.')
for char in split_num_error:
split_int_error = int(char)
print(f'HTTP ERROR\n {error_category_dictionary[split_int_error[0]]} Error\n {split_int_error[1]}:{error_code_dictionary[split_int_error[1]]}')
error_codes = [400, 401, 402]
error_descriptions = ['Bad Request', 'Unauthorized', 'Payment Required']
error_category_dictionary={1:'Information', 2:'Successful', 3:'Redirection'}
a = create_error_dictionary(error_codes, error_descriptions)
print(get_error_code_information('status:HTTP/2.402',a, error_category_dictionary))
答案 0 :(得分:0)
您有一个循环:
for char in split_num_error:
split_int_error = int(char)
其后是执行以下操作的代码:
print(f'HTTP ERROR\n {error_category_dictionary[split_int_error[0]]} Error\n {split_int_error[1]}:{error_code_dictionary[split_int_error[1]]}')
请注意,尽管split_int_error
是单个(不可下标)split_int_error
,但它如何在索引0和1处索引int
。
您可能是想做类似的事情:
split_int_error = [int(char) for char in split_num_error]
是list
的所有整数转换后的分量中的split_num_error
吗?