python 关于 ValueError: dictionary update sequence element #0 has length 1; 2 is required的原因和解决办法

相信大家接触python字典后,会遇到这样的报错,其实我们都知道无非就是字符串和字典之间的转换,笔者刚开始的时候也遇到这个问题了,天真的以为字典和字符串之间的转换用str()和dict()转换,不罗索,直接上图!


但是笔者爬取数据的时候,因为self.read_188bet_cookie()方法返回给我一个字符串,但是requests里的cookies=(必须是一个字典),所以笔者就天真的用dict()方法把字符串转换为字典,理论上是没有问题的,但是现实可不是这样的,拍黑板了!!!字符串转字典要用eval(),这个方法很多书上都没有介绍,有关eval()的用法,传送门eval的用法


问题解决,希望对大家有帮助,谢谢大家

Traceback (most recent call last): File "e:\mmpretrain-main\mmpretrain\.mim\tools\train.py", line 159, in <module> main() File "e:\mmpretrain-main\mmpretrain\.mim\tools\train.py", line 146, in main cfg = Config.fromfile(args.config) File "E:\Anaconda\envs\mmpose\lib\site-packages\mmengine\config\config.py", line 178, in fromfile cfg_dict, cfg_text, env_variables = Config._file2dict( File "E:\Anaconda\envs\mmpose\lib\site-packages\mmengine\config\config.py", line 522, in _file2dict eval(codeobj, global_locals_var, global_locals_var) File "", line 37, in <module> ValueError: dictionary update sequence element #0 has length 1; 2 is required Traceback (most recent call last): File "E:\Anaconda\envs\mmpose\lib\runpy.py", line 194, in _run_module_as_main return _run_code(code, main_globals, None, File "E:\Anaconda\envs\mmpose\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "E:\Anaconda\envs\mmpose\Scripts\mim.exe\__main__.py", line 7, in <module> File "E:\Anaconda\envs\mmpose\lib\site-packages\click\core.py", line 1130, in __call__ return self.main(*args, **kwargs) File "E:\Anaconda\envs\mmpose\lib\site-packages\click\core.py", line 1055, in main rv = self.invoke(ctx) File "E:\Anaconda\envs\mmpose\lib\site-packages\click\core.py", line 1657, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "E:\Anaconda\envs\mmpose\lib\site-packages\click\core.py", line 1404, in invoke return ctx.invoke(self.callback, **ctx.params) File "E:\Anaconda\envs\mmpose\lib\site-packages\click\core.py", line 760, in invoke return __callback(*args, **kwargs) File "E:\Anaconda\envs\mmpose\lib\site-packages\mim\commands\train.py", line 100, in cli is_success, msg = train( File "E:\Anaconda\envs\mmpose\lib\site-packages\mim\commands\train.py", line 261, in train ret = subprocess.check_call( File "E:\Anaconda\envs\mmpose\lib\subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command &#39;[&#39;E:\\Anaconda\\envs\\mmpose\\python.exe&#39;, &#39;e:\\mmpretrain-main\\mmpretrain\\.mim\\tools\\train.py&#39;, &#39;data/resnet18_finetune.py&#39;, &#39;--launcher&#39;, &#39;none&#39;, &#39;--work- dir=./exp&#39;]&#39; returned non-zero exit status 1.
06-11
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

import bugs

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值