glob error< _io.TextIOWrapper name ='...'mode ='r'coding ='cp1252'>阅读文本文件错误

时间:2016-08-03 12:52:31

标签: python

我正在尝试创建一个社交程序,其中配置文件存储在.txt文件中 这是代码的一部分:

XX = []
pl = glob.glob('*.txt')
for a in pl:
     if ' pysocial profile.txt' in a:
         print(a)
         O = 2
         XX.append(a)
         if O == 2:
              P = input('choose profile>')
              if P in XX:
                G = open(P, 'r')
              print(G)

我试试这个,但是当它执行“print(G)”部分时,就会出现这个:

<_io.TextIOWrapper name='Freddie Taylor pysocial profile.txt' mode='r' encoding='cp1252'>

如何让它读取文件?

1 个答案:

答案 0 :(得分:8)

open方法打开文件并返回TextIOWrapper对象,但不读取文件内容。

要实际获取文件的内容,您需要在该对象上调用read方法,如下所示:

G = open(P, 'r')
print(G.read())

但是,您应该通过调用文件对象上的close方法或使用with open(...)语法来关闭文件,这将确保文件正确关闭,如下所示:

with open(P, 'r') as G:
    print(G.read())