LINUX.ORG.RU

Как правильно сделать в Python

 ,


0

1

Всем привет! Есть файлик, с него надо прочитать строку и все, больше он не нужен. Так вот, правильно ли вот так сделать:

def get_hostname():
	return open("/proc/sys/kernel/hostname", "r").read().replace("\n", "")
Т.е если мы вот так открыли его, то закроется ли дескриптор после ретурна? Или он так и останется висеть? Вообще как правильней делать, если надо просто один раз прочитать из файла строку и забыть о нем?


Ответ на: комментарий от anonymous

если пишешь не демон, а скрипт который отрабатывает и завершается, можно не заморачиваться обычно

anonymous
()

Зачем велосипед, если есть socket.gethostname()? Возвращает то, что тебе нужно.

А так да, как чувак выше - with open закроет файло по ненужности.

entefeed ☆☆☆
()
Ответ на: комментарий от mashina

Это знаю, так и сделал, но хотел узнать, будет ли так, как написано в вопросе работать верно.

aarexer
() автор топика
Ответ на: комментарий от anonymous

Можно, но не нужно, потому что если символа все же нет, то мы из-за среза возьмем неправильное значение.

aarexer
() автор топика
Ответ на: комментарий от entefeed

Мне не только имя хоста надо, это просто для примера.

aarexer
() автор топика
Ответ на: комментарий от aarexer

в ядре следят за стабильностью abi

anonymous
()

А самому проверить не судьба? lsof в руки и вперед.

panter_dsd ★★★★
()
Ответ на: комментарий от t184256

Кстати да! Спасибо, это верное решение, чето я заглючил.

aarexer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.