我正在使用日志记录系统,在将数据从文本文件传输到变量时遇到一些麻烦。
database = open('C:\\Users\\user\\Desktop\\text.txt', 'r')
print(database)
当我尝试执行此操作时,会发生这种情况。这是什么意思?
<_ io.textiowrapper users user desktop text.txt>
您需要从文件中读取数据,因此需要使用read
方法。另外,请用with
打开文件,该文件将自动关闭,因此这是完成您想要实现的正确方法。
再次使用with
打开文件,因为它会自动关闭文件,所以我们使用它,然后我们用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()
将两个字符串连接在一起,因此这将在它们之间添加一个斜杠(/),然后我们使用User Profile路径(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)
您正在打印包含文件的python对象。相反,您可能希望打印文件的行。
尝试一下:print(database.readlines())