- Пронумеровать строки в файле
- Ответы (4 шт):
- Как пронумеровать строки в питоне при выводе с for _ in range
- Пронумеровать строки в файле
- 4 ответа 4
- Как в idle python сделать нумерацию строк
- Версия 3.8 или новее:
- Версия 3.7 или старше:
- Как включить номера строк в IDLE?
- 6 ответов
- Как включить номера строк в IDLE?
- 4 ответа
Пронумеровать строки в файле
Есть текстовый файл, в котором однотипные строки без нумерации.
Как нумеровать строки последовательно?
Пробую так, выдаёт ошибку (пример нашёл в интернете):
#!/usr/bin/env python3 lines = 0 file = f.open ("/home/**/**/FiltredInterface.txt") for line in file: lines +=1 print (line)
Ответы (4 шт):
Проблема в лишнем отступе для цикла и том, что вы забыли вывести переменную счетчик.
#!/usr/bin/env python3 lines = 0 file = open("./text.txt") for line in file: lines +=1 print (lines, line)
Если в итоге необходимо получить файл с аналогичным содержанием и пронумерованными строками можно попробовать такой вариант:
with open('input.txt', 'r') as read_object, open('output.txt', 'w') as write_object: for idx, line in enumerate(read_object, start=1): write_object.write('<> <>'. format(idx, line))
Так же эту задачу можно решить при помощи контекстного менеджера разработанного Мартином Питерсом для перезаписи файла на месте (Easy in-place file rewriting).
import csv with inplace(csvfilename, 'r', newline='') as (infh, outfh): reader = csv.reader(infh) writer = csv.writer(outfh) for row in reader: row += ['new', 'columns'] writer.writerow(row)
Чтобы по месту файл изменить, добавив номер строки к каждой строке (версия nl утилиты, которая по месту изменения выполняет):
import fileinput import os def number_lines(filename, start=1): """Number lines in the *filename* inplace counting from *start*.""" with fileinput.FileInput(filename, inplace=True, backup='.bak') as file: for n, line in enumerate(file, start=start): print(n, line, end='') os.unlink(filename + '.bak') # remove backup on success
number_lines("/home/user/path/to/FiltredInterface.txt")
Как пронумеровать строки в питоне при выводе с for _ in range
Например, у меня есть программа:
a = int(input(«Введите целое число»))
for _ in range(a):
print(‘привет!’)
Что нужно добавить, чтобы при введении целого числа (например 5) мне выдавало не:
привет!
привет!
привет!
привет!
привет!
а выдавало
1.привет!
2.привет!
3.привет!
4.привет!
5.привет!
помогите пожалуйста, очень нужно
a = int(input("Введите целое число: "))
print(*map('%d.%s'.__mod__, enumerate(('привет!',) * a, 1)), sep = '\n')
from itertools import count, repeat
a = int(input("Введите целое число: "))
print('\n'.join(map('%d.%s'.__mod__, zip(count(1), repeat('привет!', a)))))
from itertools import count, repeat
a = int(input("Введите целое число: "))
print('\n'.join(map('.'.join, zip(map(str, count(1)), repeat('привет!', a)))))
print(*map('%d.%s'.__mod__, enumerate(('привет!',) * int(input("Введите целое число: ")), 1)), sep = '\n')
from itertools import count, repeat
print('\n'.join(map('%d.%s'.__mod__, zip(count(1), repeat('привет!', int(input("Введите целое число: ")))))))
from itertools import count, repeat
print('\n'.join(map('.'.join, zip(map(str, count(1)), repeat('привет!', int(input("Введите целое число: ")))))))
a = int(input("Введите целое число"))
for i in range(a):
print(i + 1, 'привет!')
Пронумеровать строки в файле
Есть текстовый файл, в котором однотипные строки без нумерации.
Как нумеровать строки последовательно? Пробую так, выдаёт ошибку (пример нашёл в интернете):
#!/usr/bin/env python3 lines = 0 file = f.open ("/home/**/**/FiltredInterface.txt") for line in file: lines +=1 print (line)
1. Какую именно ошибку? 2. Этот код (когда его исправить) не будет нумеровать строки, а просто напечатет числа от 1 до N, где N — количество строк.
Да, нужно пронумеровать стровки в файле и иметь на выходе в файле номер строки + сама строка. ошибка : «for line in file: IndentationError: unexpected indent»
4 ответа 4
Если в итоге необходимо получить файл с аналогичным содержанием и пронумерованными строками можно попробовать такой вариант:
with open('input.txt', 'r') as read_object, open('output.txt', 'w') as write_object: for idx, line in enumerate(read_object, start=1): write_object.write('<> <>'. format(idx, line))
@Oleksandr Shulha Я редактировал код, возможно вы воспользовались ошибочным вариантом, попробуйте ещё раз.
Чтобы по месту файл изменить, добавив номер строки к каждой строке (версия nl утилиты, которая по месту изменения выполняет):
import fileinput import os def number_lines(filename, start=1): """Number lines in the *filename* inplace counting from *start*.""" with fileinput.FileInput(filename, inplace=True, backup='.bak') as file: for n, line in enumerate(file, start=start): print(n, line, end='') os.unlink(filename + '.bak') # remove backup on success
number_lines("/home/user/path/to/FiltredInterface.txt")
Как в idle python сделать нумерацию строк
В основной оболочке IDLE ошибки всегда возвращают номер строки, но в среде разработки даже нет номеров строк. Есть ли способ включить номера строк?
Версия 3.8 или новее:
Чтобы отобразить номера строк в текущем окне, перейдите к Options и щелкните Show Line Numbers .
Для того, чтобы показать их автоматически, перейдите к Options > Configure IDLE > General и проверить Show line numbers in new windows коробку.
Версия 3.7 или старше:
К сожалению, в IDLE нет возможности отображать номера строк, хотя для этого открыт запрос на расширение .
Однако есть несколько способов обойти это:
В меню редактирования есть опция перехода к строке (для этого по умолчанию используется сочетание клавиш Alt + G).
В правом нижнем углу есть дисплей, который сообщает вам ваш текущий номер строки / позицию в строке:
Для IDLE есть набор полезных расширений под названием IDLEX, которые работают с MacOS и Windows http://idlex.sourceforge.net/
Он включает в себя нумерацию строк, и я нахожу его довольно удобным и бесплатным.
В противном случае существует множество других IDE, некоторые из которых бесплатны: https://wiki.python.org/moin/IntegratedDevelopmentEnvironments
Если вы пытаетесь отследить, какая строка вызвала ошибку, если вы щелкните правой кнопкой мыши в оболочке Python, где отображается ошибка строки, появится сообщение «Перейти к файлу / строке», которое приведет вас прямо к нужной строке. .
Как было упомянуто Давосом, вы можете использовать IDLEX
Бывает, что я использую версию для Linux и из всех расширений мне нужны были только LineNumbers. Итак, я загрузил архив IDLEX, взял из него LineNumbers.py, скопировал его в папку Python lib (в моем случае это /usr/lib/python3.5/idlelib) и добавил следующие строки в файл конфигурации в моей домашней папке, которая является
Номера строк были добавлены в редактор IDLE два дня назад и появятся в следующих версиях 3.8.0a3 и более поздних версиях 3.7.5. Для новых окон они отключены по умолчанию, но это можно отменить в диалоговом окне «Настройка», на вкладке «Общие», в разделе «Редактор». Для существующих окон в меню «Параметры» есть новая запись «Показать (скрыть) номера строк». В настоящее время горячей клавиши нет. Можно выбрать линию или блок линий, щелкнув линию или щелкнув и перетащив.
Некоторые люди могли пропустить Edit / Go to Line. Контекстное меню, вызываемое правой кнопкой мыши, «Перейти к файлу / строке» работает с выводом grep (Найти в файлах), а также с обратными ссылками.
Как включить номера строк в IDLE?
В основной оболочке IDLE ошибки всегда возвращают номер строки, но в среде разработки даже нет номеров строк. Есть ли способ включить номера строк?
6 ответов
Как уже упоминалось выше (быстрый способ сделать это):
Затем я создаю ярлык на рабочем столе (Win10) следующим образом:
Пути могут быть разными и должны быть изменены:
(Спасибо за отличные ответы выше)
Существует ряд полезных расширений для IDLE, называемых IDLEX, которые работают с MacOS и Windows http://idlex.sourceforge.net/
Он включает в себя нумерацию строк, и я нахожу это довольно удобным и бесплатным.
В противном случае есть множество других IDE, некоторые из которых бесплатны: https://wiki.python.org/moin / IntegratedDevelopmentEnvironments
Как уже упоминал Давос, вы можете использовать IDLEX
Бывает, что я использую версию Linux, и из всех расширений мне нужны были только номера строк. Поэтому я скачал архив IDLEX, взял из него LineNumbers.py, скопировал его в папку lib Python (в моем случае это /usr/lib/python3.5/idlelib) и добавил следующие строки в файл конфигурации в моей домашней папке, которая
/ .idlerc / конфиг — extensions.cfg :
Как @StahlRat уже ответил. Я хотел бы добавить еще один метод для этого. Существует пакет расширений для редактора простоя Python по умолчанию Пакет расширений Python.
Если вы пытаетесь отследить, какая строка вызвала ошибку, если вы щелкните правой кнопкой мыши в оболочке Python, где отображается ошибка строки, появится «Перейти к файлу / строке», которая приведет вас непосредственно к рассматриваемой строке. ,
Номера строк были добавлены в редактор IDLE два дня назад и появятся в следующих 3.8.0a3 и более поздних 3.7.5. Для новых окон они по умолчанию отключены, но это можно изменить в диалоговом окне «Настройка» на вкладке «Общие» в разделе «Редактор». Для существующих окон в меню «Параметры» появилась новая запись «Показать (скрыть) номера строк». Там в настоящее время нет горячей клавиши. Можно выбрать линию или блок линий, щелкнув по линии или нажав и перетащив.
Некоторые люди, возможно, пропустили Edit / Go to Line. Контекстное меню правой кнопки мыши «Перейти к файлу / строке» работает как с выводом grep (Find in Files), так и с обратными ссылками.
Как включить номера строк в IDLE?
В основной оболочке IDLE ошибки всегда возвращают номер строки, но в среде разработки даже нет номеров строк. Есть ли способ включить номера строк?
4 ответа
Существует ряд полезных расширений для IDLE, называемых IDLEX, которые работают с MacOS и Windows http://idlex.sourceforge.net /
Он включает в себя нумерацию строк, и я нахожу это очень удобным & свободно.
В противном случае есть множество других IDE, некоторые из которых бесплатны: https: //wiki.python. орг /МойнМойн /IntegratedDevelopmentEnvironments
Если вы пытаетесь отследить, какая строка вызвала ошибку, если вы щелкните правой кнопкой мыши в оболочке Python, где отображается ошибка строки, появится «Перейти к файлу /строке», которая приведет вас непосредственно к рассматриваемая строка.
Как уже упоминал Давос, вы можете использовать IDLEX
Бывает, что я использую версию Linux, и из всех расширений мне нужны были только номера строк. Поэтому я скачал архив IDLEX, взял из него LineNumbers.py, скопировал его в папку lib Python (в моем случае это /usr/lib/python3.5/idlelib) и добавил следующие строки в файл конфигурации в моей домашней папке, которая
Как @StahlRat уже ответил. Я хотел бы добавить еще один метод для этого. Существует пакет расширений для редактора простоя Python по умолчанию.