我正在使用解析器制作 Telegram 机器人。带有解析器的文件具有变量所在的函数。我不知道怎么把它从函数里拿出来,因为里面需要它(这样的程序结构)。我需要将此变量导入另一个文件中的函数。下面是一小部分代码便于理解:
同一个变量:
items = {
dict_key: {
'full_item_name': [],
'paintseed': [],
'floatvalue': [],
'price': [],
'item_url': [],
'stickers_dict': []
}
}
我像这样导入另一个文件:
from items.parser import *
您需要在这里使用一个变量:
for url in items_urls:
parse(url)
for full_item_name, paintseed, floatvalue, price, item_url, stickers_dict in itertools.zip_longest(items['full_item_name'], items['paintseed'], items['floatvalue'], items['price'], items['item_url'], items['stickers_dict']):
我收到一个错误:
KeyError: 'full_item_name'
只是没试过。我认为解决方案并不难。感谢大家的帮助
PS这里是一个稍微完整的字典的例子:
items = {
0: {
'full_item_name': ['full_item_name0'],
'paintseed': ['paintseed0'],
'floatvalue': ['floatvalue0'],
'price': ['price0'],
'item_url': ['item_url0'],
'stickers_dict': ['stickers_dict0']
},
1: {
'full_item_name': ['full_item_name1'],
'paintseed': ['paintseed1'],
'floatvalue': ['floatvalue1'],
'price': ['price1'],
'item_url': ['item_url1'],
'stickers_dict': ['stickers_dict1']
},
2: {
'full_item_name': ['full_item_name2'],
'paintseed': ['paintseed2'],
'floatvalue': ['floatvalue2'],
'price': ['price2'],
'item_url': ['item_url2'],
'stickers_dict': ['stickers_dict2']
},
...
}
itertools.zip_longest 循环中出现错误,因为未指定 [dict_key]。我像这样导入了变量
并像这样初始化:
在这种情况下, parse() 函数返回此项目列表