Добавление длины предложений в файл - PullRequest
1 голос
/ 05 февраля 2020

Я нашел длину и индекс и хочу сохранить их все в новом файле:

пример: длина предложения индекса

мой код

file = open("testing_for_tools.txt", "r")
lines_ = file.readlines()
for line in lines_:
    lenght=len(line)-1
    print(lenght)
for item in lines_:
    print(lines_.index(item)+1,item)

вывод:

64
18
31
31
23
36
21
9
1
1 i went to city center, and i bought xbox5 , and some other stuff

2 i will go to gym !

3 tomorrow i, sill start my diet!

4 i achive some and i need more ?

5 i lost lots of weights؟

6 i have to , g,o home,, then sleep  ؟

7 i have things to do )

8 i hope so

9 o

желаемый вывод и сохранение в новый файл:

1 i went to city center, and i bought xbox5 , and some other stuff 64
2 i will go to gym ! 18 

1 Ответ

1 голос
/ 05 февраля 2020

Это может быть достигнуто с помощью следующего кода. Обратите внимание на использование with ... as f, что означает, что нам не нужно беспокоиться о закрытии файла после его использования. Кроме того, я использовал f-строки (требуется Python 3.6) и enumerate, чтобы получить номер строки и объединить все в одну строку, которая записывается в выходной файл.

with open("test.txt", "r") as f:
    lines_ = f.readlines()

with open("out.txt", "w") as f:
    for i, line in enumerate(lines_, start=1):
        line = line.strip()
        f.write(f"{i} {line} {len(line)}\n")

Вывод:

1 i went to city center, and i bought xbox5 , and some other stuff 64
2 i will go to gym ! 18

Если вы хотите отсортировать строки по длине, вы можете просто поставить следующую строку после первого блока with:

lines_.sort(key=len)

Это даст результат:

1 i will go to gym ! 18
2 i went to city center, and i bought xbox5 , and some other stuff 64
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...