我们在想要写自己的小程序时,比如打卡小程序(超链接点击跳转),我们需要保存一些简单的数据,这时候如果我们去研究数据库,如SQL,MySQL就显得画蛇添足了,最实用的策略就是我们直接将运行后得到的数据结果保存在txt
文件中,下次调用程序的时候直接读取txt
文件中的数据进行操作即可。但是在这个过程中我们会遇到一个严重的问题,就是我们写入txt
文件的数据通常是以str
字符的形式写入的,并且读取的时候也是以字符的形式读取的,也就是说如果我们将一个列表数据以字符的形式写入txt
文件后,下次从txt
文件读取出来的数据类型变为了str
类型,从而无法进行我们需要的运算操作,这时就会十分棘手,对此,我们这里介绍一种能够将从txt
文件中读取到的str
类型数据转换为list
数据类型的方法。
代码如下:
class Debug:
def mainProgram(self):
list1 = [[2, 0], [4, 0]]
print(type(list1)) # <class 'list'>
print(list1) # [[2, 0], [4, 0]]
list1 = str(list1)
print(type(list1)) # <class 'str'>
print(list1) # [[2, 0], [4, 0]]
if __name__ == "__main__":
main = Debug()
main.mainProgram()
我们先创建一个list
对象并对这个list
对象进行str
数据类型转换模拟出从txt
文件中读取到的数据。从上面的代码输出结果我们可以看到,list
类型数据已经成功被转换为了str
类型的数据。接下来我们使用ast
模块实现str
数据类型到list
数据类型的转换。代码如下:
import ast
class Debug:
def mainProgram(self):
list1 = [[2, 0], [4, 0]]
list1 = str(list1)
list1 = ast.literal_eval(list1)
print(list1) # [[2, 0], [4, 0]]
print(type(list1)) # <class 'list'>
if __name__ == "__main__":
main = Debug()
main.mainProgram()
我们可以看到获取到的数据类型已经从str
变为了可以进行运算操作的list
类型。
如果大家觉得有用,请高抬贵手给一个赞让我上推荐让更多的人看到吧~