Python试图将字符串写入文件,然后读取string和eval,但出现了问题

2024-09-30 00:29:00 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图写一个非常简单的脚本,模拟袖珍秘书来做我的作业,但我有一个小问题。 我希望每次退出程序时我的所有数据都保存在一个文件中(抽象形式),然后当我启动它时,我想读取该文件,eval(堆栈)(基本上是将数据加载到内存中),然后验证它是否有效。。。任何未被删除的内容都将被删除。 这就是我所做的:

    def loadToString (stack):
        f = open ("data.txt", "w")
        load_stack = str(stack)  #convert to string
        f.write (load_stack)  #write in file
        f.close() 

    def loadFromString ():
       f = open ("data.txt", "r")
       load_stack = f.readline() #read string
       if (load_stack == "" or load_stack == " " or load_stack == None): 
           stack = []
           return stack 
      else:
          stack = eval(load_stack) #trying to convert from string to list
      f.close ()

当我查档案的时候。。。当“我的记忆真的空了”的时候,它就没有了

我一辈子都不明白为什么会发生这种事。我也可以快速修复(在.txt文件中人为地添加撇号)

我不知道如何检查一个文件是空的还是我读了一个空行,所以如果您能帮助我处理“loadFromString”中的“if”语句,我将不胜感激。 关于eval()。。。就像我说的,这只是家庭作业,所以我不怕任何恶意。在


Tags: 文件to数据txtconvertclosedatastring
1条回答
网友
1楼 · 发布于 2024-09-30 00:29:00

要处理眼前的问题,请将load_stack = str(stack)更改为load_stack = repr(stack)。这会加上撇号。在

之后,您可能需要查看csv module或{a2}。这两种方法都很容易使用,并且可以处理许多低层次的细节。在

相关问题 更多 >

    热门问题