В моем скрипте python я пишу конкретные столбцы из текстового файла в файл new_text_file, разделенный на ,
, потому что new_text_file позже станет csv_file. В файле new_text_file остались белые пробелы, потому что строки, которые я пропустил, записывали, что нужно удалить из файла.Как удалить пустые строки в текстовом файле python?
Я не могу использовать .strip()
или .rstrip()
, потому что получаю ошибку: AttributeError: '_io.TextIOWrapper' object has no attribute 'strip'
.
Я не могу использовать ip_file.write("".join(line for line in ip_file if not line.isspace()))
, потому что получаю ошибку: UnsupportedOperation: not readable
.
Я также попытался импортировать sys
и re
, и попробовал все остальные ответы, найденные на этом сайте, но он по-прежнему возвращает ошибки.
Мой код:
for ip in open("list.txt"):
with open(ip.strip()+".txt", "a") as ip_file:
for line in open("data.txt"):
new_line = line.split(" ")
if "blocked" in new_line:
if "src="+ip.strip() in new_line:
#write columns to new text file
ip_file.write(", " + new_line[11])
ip_file.write(", " + new_line[12])
try:
ip_file.write(", " + new_line[14] + "\n")
except IndexError:
pass
В результате ip_file выглядит следующим образом:
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
, dst=00.000.00.000, proto=TCP, dpt=80
Я кодирования под последней строкой выше сценария, в петлях. new_text_file
- это ip_file
в моем скрипте, и все должно быть в Python.
Вопрос: Есть ли другой способ удалить пустые строки в ip_file
? ИЛИ предотвратить их когда-либо писать?
Возможный дубликат [Удалить пустые строки] (http://stackoverflow.com/questions/3711856/remove-empty-lines) – enginefree
Когда вы говорите «удалите пустые строки в' ip_file' », вы имеете в виду« избегать написания пустые строки в 'ip_file'? Я не понимаю ваш вопрос. Вы не читаете из 'ip_file' нигде, поэтому я не вижу, как вы могли бы беспокоиться о чтении пустых строк из него, и все ваши вызовы на' ip_file.write' будут как минимум записывать запятую в файл. Так вы можете уточнить, что вы спрашиваете? – Brionius
@Brionius: Я еще немного отредактирую свой вопрос. – hjames