Вопрос:

Сортировка текстового файла по алфавиту (Python)

python sorting

57012 просмотра

3 ответа

72 Репутация автора

Я бы хотел отсортировать файл shopping.txt в алфавитном порядке.

shopping = open('shopping.txt')
line=shopping.readline()
while len(line)!=0:
    print(line, end ='')
    line=shopping.readline()
#for eachline in myFile:
#    print(eachline)
shopping.close()
Автор: Bocui Источник Размещён: 25.11.2014 09:36

Ответы (3)


8 плюса

148197 Репутация автора

Используйте sortedфункцию.

with open('shopping.txt', 'r') as r:
    for line in sorted(r):
        print(line, end='')
Автор: Avinash Raj Размещён: 25.11.2014 09:40

20 плюса

581 Репутация автора

Самый простой способ сделать это - использовать функции sort()или sorted().

lines = shopping.readlines()
lines.sort()

В качестве альтернативы:

lines = sorted(shopping.readlines())

Недостатком является то, что вы должны прочитать весь файл в память. Если это не проблема, вы можете использовать этот простой код.

Автор: Mezgrman Размещён: 25.11.2014 09:41

32 плюса

132182 Репутация автора

Просто чтобы показать что-то другое вместо того, чтобы делать это в Python, вы можете сделать это из командной строки в системах Unix:

sort shopping.txt -o shopping.txt

и ваш файл отсортирован. Конечно, если вам действительно нужен Python для этого: решение, предложенное многими другими людьми, с чтением файла и сортировкой работает нормально.

Автор: Salvador Dali Размещён: 25.11.2014 09:42
Вопросы из категории :
32x32