3
Could someone please help me explain why I can’t add the texts of each file to each position on my list?
''' Funções para o processamento dos textos (cartas) para base de aprendizagem'''
PATH_LETTERS = 'resources/letters/'
MODE_OPEN = 'r'
NAME_DEFAULT_FILES = 'carta_{}'
EXENSION_LETTERS = '.txt'
PATH_FULL_LETTERS = PATH_LETTERS + NAME_DEFAULT_FILES + EXENSION_LETTERS
def get_text(size_letters=18):
letters = []
try:
for i in range(1, (size_letters+1)):
text = ''
letter = open(PATH_FULL_LETTERS.format(i), MODE_OPEN)
for line in letter.readlines():
text += line
letter.close()
letters.append(text)
return letters
except FileNotFoundError:
print('Error opening letter file')
Whenever I run this code the texts of all text files are in the same position in the list, why?
Since I have 18 files, the most external is for me to pass and read all of them.
Basically, I have 18 text files and I want to read each one, and add the file content at each position of the list, so.... In my view, the above code should work, however when I print in the terminal the list, the contents of all files appear in a single position. So you could help me?
Code I display the output:
import classifier as clr
import text_processor
if __name__ == '__main__':
classifier = clr.Classifier()
phrase = text_processor.get_text()
print(phrase)
Terminal output with only 2 files so it doesn’t get too big:
['São Paulo 18 de julho de 1988\nEdu estou deixando esta carta para mostrar a\nvocê o que sinto e o que estou sentindo.\nEdu são 2:15 hs da madrugada não consegui\ndormir um minuto se quer esta tudo doendo\ndentro de mim só em pensar que ti perdi de\nverdade.\nDu porque você fingiu, porque você mentiu\npara mim este tempo todo. Du não estou\naguentando mais, está sendo duro resistir\nesta dor tão grande que estou sentindo\ndentro de mim e por viver assim preferi\nmorrer.\nEdu quando lembrar-se de mim lembre-se que\nti amei e amei de verdade\n', 'Carlos\nEu precisava tanto falar contigo, pena, você\nnão deixou. Vou morrer te amando. Eu te\namo loucamente. Tudo o que fiz de errado, foi\numa necessidade de estar com você outra\nvez.\nVocê não quiz me ouvir. Agora será impossível\nme ouvir outra vez. Eu te amo. Se tomei esta\niniciativa foi simplesmente pelo fato de saber\nque nunca mais o teria de volta.\nPor mim, peça desculpas à minha mãe. Diga a\nela que eu a amo muito também porém não\nencontrei mais nenhuma existência para mim.\nEu te amo, tudo o que fiz foi porque o amava\ndemais. Tentei explicar isto à minha mãe: não\nse preocupe, será impossível te ligar outra\nvez.\n\nEu, Márcia, dou meus olhos, meus cabelos e\nmeu sangue a quem\nprecisar.\nJuro estar dizendo a verdade, perante todos e\na Deus.\n\nSem ele não viver mais.\n']
I can’t understand that question. What do you want to do? Your code does exactly what you’re told: opens all the files one after the other, and puts everyone’s text in a final list.
– jsbueno
Who gave "upvote" in this question, could explain the same better?
– jsbueno
I explained the question better.
– Nayron Morais
@Nayronmorais I replicated your code and did not have the behavior you described. Each file was placed in a position on the list: https://repl.it/NbdC/0. Isn’t this the expected result? How are you displaying the list in the terminal?
– Woss
In the same way as your replication! And yes, the result was this. I will edit the question by displaying an image with the terminal output.
– Nayron Morais
This code is going around more than it should, but it’s "right". The error, if any, is at the point where you take the return value of the function and print it out. Or maybe with your files.
– jsbueno
How do you turn around more than you should?
– Nayron Morais
I added more information to the question!
– Nayron Morais
@Andersoncarloswoss The only difference is that my version of Python is 3.5.
– Nayron Morais
It is necessary that the order of the cards be kept in the final list?
– Woss
You don’t have to... but I went after what @jsbueno said, I modified the line breaks of the files here and apparently it worked... I just thought it was strange that... someone could explain?
– Nayron Morais
I have decided here!
– Nayron Morais
@Nayronmorais what modifications he made?
– Woss
I just took the line breaks from the files.
– Nayron Morais