Как отладить «объект не подписывается» в Python? - PullRequest
0 голосов
/ 24 июня 2019

Кажется, я не могу этого сделать:

user=csv_reader[0 + row_count]

Этот код для университетского проекта, и я запускаю его на repl.it. Если вы хотите посмотреть, он размещен здесь: https://repl.it/@Lia_AlexaAlexa/ConsciousYummySeahorse

 import csv
 def comprobando_usuario(usuario_var):
 csv_reader = open("ale.csv")
 row_count = len(csv_reader.readlines())
 while row_count >= 1:
  user=csv_reader[0 + row_count]
  useri=user[1]
  while usuario_var in useri:
    usuario_var=str(("Ingrese nuevo usuario o escribe no para 
    terminar."))
    row_count=row_count - 1
    if usuario_var in abc:
      return(0)
 return(100)

Ошибка:

Traceback (most recent call last):
  File "main.py", line 14, in <module>
    respuesta_de_usuario= usuario.comprobando_usuario(usuario_var)
  File "/home/runner/usuario.py", line 6, in comprobando_usuario
    user=csv_reader[0 + row_count]
TypeError: '_io.TextIOWrapper' object is not subscriptable

1 Ответ

0 голосов
/ 24 июня 2019

Действительно, вы не можете сделать user=csv_reader[0 + row_count], поскольку csv_reader - это файловый объект, который вы создали из csv_reader = open("ale.csv").

Кроме того, вы должны избавиться от этого сложного цикла while и следовать документу, чтобы узнать, как правильно читать файл в Python: https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files

...