Python使用eval强制转换字符串为字典时报错:File "<string>", line 1, in <module> NameError: name 'nan' is not defined

  文本中保存的内容为:

{
    ‘QQQ‘: [0.067, 0.167, 0.2, 0.033, 0.233, 0.267, 0.1, 0.133],
    ‘TTT‘: [0.5, 0.375, 0.25, 0.3, 0.6, 0.333, 0.857, 0.636, 0.667, 0.556]
}

   用eval转换为字符串时报错:

File "test.py", line 43, in d1
    data = eval(infile.readline())
  File "<string>", line 1, in <module>
NameError: name ‘nan‘ is not defined

  解决:

globals = {
    ‘nan‘: 0
}

# -----------
data = eval(infile.readline(), globals)

  参考资料:

  Python中,用eval强制将字符串转换为字典变量时候出错:NameError: name ‘null’ is not defined

Python使用eval强制转换字符串为字典时报错:File "<string>", line 1, in <module> NameError: name 'nan' is not defined

时间: 2024-12-20 01:47:44

Python使用eval强制转换字符串为字典时报错:File "<string>", line 1, in <module> NameError: name 'nan' is not defined的相关文章

python 列表、元组、字符串、字典、集合、return等梳理

有必要对这些数据类型及操作做下梳理: 1.列表:增删改查 a.查找: 1 >>> names=["zhang","wang","li","zhao"] 2 #列表天生具有下标,基于下标0,1,2,...进行查找 3 >>> names[1] 4 'wang' 5 #列表的切片,即也是基于下标进行操作 6 >>> names[1:3] 7 ['wang', 'li'] 8 &

python中使用openpyxl模块时报错: File is not a zip file

python中使用openpyxl模块时报错: File is not a zip file. 最大的原因就是不是真正的 xlsx文件, 如果是通过 库xlwt  新建的文件,或者是通过自己修改后缀名得到的 xlsx文件,都会报错,我遇到的解决办法基本都是自己使用 office 新建一个xlsx文件,网上说的是由于新版 office 加密的原因,只能通过 office 的软件才能建立真正的xlsx文件. 同时来自网友的经验:#Python大坑:openpyxl和(xlrd,xlwt)不可混用!#

[python 笔记2]列表、字符串、字典(list?string?map?)

1.列表 1)python 中的列表初始化 list=[0,1,2,3,4,5,6,7,8,9] 变量名=[,,,,],当然初始列表可以为空 ps:看到[],熟悉C++的同学不禁想到了熟悉的数组,那么python中的列表和数组之间有什么区别联系呢? 在python中我们依然可以使用下标来操作列表,就像操作数组一样.但是,如果python只给我提供如此简(keng)单(die)的操作那怎么能体现出python的简介强大呢? 2)分片 分片是指使用索引来指定访问列表的范围,来访问多个元素,而不是仅仅

Python学习之路3 - 字符串操作&amp;字典

本节内容: 常用的字符串处理. 格式化输出字符串. 字符串的替换. 字符串和二进制的相互转化. 字典的操作 字符串操作 常用的字符串处理 name = 'vector' print(name.capitalize()) # 首字母大写 print(name.count('e')) # 判断字符e在字符串中有多少个 print(name.center(50,'-')) # 一共打印50个字符,将vector放在中间,两边用-填充 print(name.endswith('r')) # 判断字符串以

Python中eval带来的潜在风险

0x00 前言 eval是Python用于执行python表达式的一个内置函数,使用eval,可以很方便的将字符串动态执行.比如下列代码: >>> eval("1+2") 3 >>> eval("[x for x in range(10)]") [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 当内存中的内置模块含有os的话,eval同样可以做到命令执行: >>> import os >>

python-将字符串转换为字典

json越来越流行,通过python获取到json格式的字符串后,可以通过eval函数转换成dict格式: >>> a='{"name":"yct","age":10}' >>> eval(a) {'age': 10, 'name': 'yct'} 支持字符串和数字,其余格式的好像不支持: >>> a='{"name":"yct","age&q

3. 蛤蟆Python脚本学习笔记三字符串

3. 蛤蟆Python脚本学习笔记三字符串 本篇名言:"平静的湖面只有呆板的倒映,奔腾的激流才有美丽的浪花!幸福不是靠别人来布施,而是要自己去赢取!生命的意义在不断挑战自己,战胜自己!" 这个本来放在昨天的,由于昨晚又太晚了,所以就搁在这里了.赶紧看看吧. 字符串两边都用双引号或者单引号包起来.否则就使用转移符号来转移一下. 输入在一起可以直接拼接. 欢迎转载,转载请标明出处:http://blog.csdn.net/notbaron/article/details/48112507

Python基础语法——(引号、字符串)

一.单引号字符串和转义引号 当字符串中出现单引号'时,我们可以用双引号""将该字符串引起来:"Let's go!" 而当字符串中出现双引号时,我们可以用单引号''将该字符串引起来:' "Hello,world!" she said ' 但是当字符串中又有单引号'又有双引号"时该如何处理呢:使用反斜线(\)对字符串中的引号进行转义:'Let\'s go!' 二.字符串 拼接字符串 >>>"Let's say&q

python学习笔记(五)之字典2

python学习笔记(五)之字典2编程实战中经常用到实例1:copy >> ad = {"name":"wtf","hig":"180"}>> bd = ad>> bd{'name': 'wtf', 'hig': '180'}>> id (ad)4539954352>> id (bd)4539954352说明:一个对象贴上两个标签,使用赋值,实现了所谓的"假