Python Can';我不理解打开文本文件的错误

Python Can';我不理解打开文本文件的错误,python,file,text-files,Python,File,Text Files,我正在使用一个日志系统,在将数据从文本文件传输到varibale时遇到一些问题 database = open('C:\\Users\\user\\Desktop\\text.txt', 'r') print(database) 当我尝试这样做时,就会发生这种情况。这是什么意思 您正在打印包含该文件的python对象。相反,您可能希望打印文件的行 试试这个: print(database.readlines())您需要从文件中读取数据,因此需要使用read方法。另外,请使用和打开文件,这样文件

我正在使用一个日志系统,在将数据从文本文件传输到varibale时遇到一些问题

database = open('C:\\Users\\user\\Desktop\\text.txt', 'r')
print(database)
当我尝试这样做时,就会发生这种情况。这是什么意思


您正在打印包含该文件的python对象。相反,您可能希望打印文件的行

试试这个:
print(database.readlines())
您需要从文件中读取数据,因此需要使用
read
方法。另外,请使用
打开文件,这样文件将自动关闭,因此这是实现目标的正确方法

再次使用
打开文件,因为它会自动关闭文件,然后使用
read()
方法读取文件数据,最后打印文件数据

示例:

with open('C:\\Users\\user\\Desktop\\text.txt', 'r') as f:
    data = f.read()
    print(data)
    # The file is closed automatically
还有一件事,您可以使用os模块获取桌面路径,而不是每次写入您的桌面路径,它将获取所有人的桌面路径

我们使用
os.path.join()
将两个字符串连接在一起,因此这将在它们之间添加一条斜线(/),然后我们使用用户配置文件路径(
C:\Users\USERNAME

因此,如果我们正在打印
desktopPath
变量,我们将得到以下结果:
C:\Users\USERNAME\Desktop

import os

# desktop Path
desktopPath = os.path.join(os.environ['USERPROFILE'], 'Desktop')

with open(os.path.join(desktopPath, 'test.txt'), 'r') as f:
    data = f.read()
    print(data)

欢迎来到堆栈溢出!有关一些有用的代码片段,请参阅关于读取和写入文件的部分。在您提供的示例中,您已打开该文件,但尚未
read()
我投票关闭的文件。这里没有真正的问题,OP只需要阅读教程/指南或文档。这不是堆栈溢出的目的,我当然看不到它在将来有用/相关。我将在程序中大量使用我的文本文件信息,因为我真的想将其转换为变量,这样我就不必经常使用“seek”了。如何使用?如果您只想将文件的内容放在变量中,
contents=database.read()
,则可以关闭该文件。@Namida我强烈建议您学习更多关于Python的知识,以及一般的编程。堆栈溢出不是这样的地方。