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

F. *_*lor 2 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)
Run Code Online (Sandbox Code Playgroud)

我试试这个,但是当它执行"print(G)"部分时,它出来了:

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

如何让它读取文件?

iCa*_*art 10

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

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

G = open(P, 'r')
print(G.read())
Run Code Online (Sandbox Code Playgroud)

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

with open(P, 'r') as G:
    print(G.read())
Run Code Online (Sandbox Code Playgroud)