Как удалить строку из файла в python

Возможный дубликат:
Удаление определенной строки в файле (python)

Мне нужно удалить строку, содержащую номер «2» из файла f =

2 3 5 6 7 2 4 5 

3 Solutions collect form web for “Как удалить строку из файла в python”

Если вы хотите отредактировать файл, вы создадите новый файл с правильными данными и затем переименуйте новый файл в качестве старого файла. Это то, что делают серьезные программы, такие как ваш текстовый редактор. (Некоторые текстовые редакторы на самом деле делают даже более странные вещи, но в этом нет никакого смысла.) Это связано с тем, что во многих файловых системах переименование может быть атомарным , так что ни при каких обстоятельствах вы не столкнетесь с поврежденным исходным файлом.

Это привело бы к

 with open(orig_file) as f, open(working_file, "w") as working: # ^^^ 2.7+ form, 2.5+ use contextlib.nested for line in f: if '2' not in line: # Is this exactly the criterion you want? # What if a line was "12 5"? working.write(line) os.rename(working_file, orig_file) 

Вы можете использовать orig_file + '~' или модуль tempfile для генерации рабочего файла.

 with open('f', 'r+') as f: data = ''.join(filter(lambda l: '2' not in l.strip().split(' '), f)) f.seek(0) f.truncate(0) f.write(data) 
 import fileinput for line in fileinput.input('f',inplace =1): line = line.strip() if not '2' in line: print line 
  • выяснение дополнительного / противоположного цвета заданного цвета
  • Считать количество слов в списке строк
  • Эффективная реализация отношений «один ко многим» с NDB Python
  • как выполнить файл сценария python с аргументом из другого файла сценария python
  • eval call lambda не видит себя
  • Почему я не могу изменить список, который я выполняю при использовании урожая
  • Каков питонический способ подсчета появления элемента в списке?
  • CORS - использование AJAX для публикации на веб-службе Python (webapp2)
  • Python - лучший язык программирования в мире.