Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 11, 2015 15:45:33

Djam36
Зарегистрирован: 2014-01-21
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить пробел между двумя переменными

Всем привет и доброго времени суток,
есть код вида (костыли возможно) но более подходящего у меня на ум не пришло

#!/usr/bin/python
import socket
import datetime
sock = socket.gethostname()
now_time = datetime.datetime.now()
print sock[:12],now_time.strftime("%d.%m.%Y_%H:%M")
По идее я сейчас тестирую как это выглядит в будущем будет создаваться такой файл имя хоста + время
пока получается вот так
hostname _ 11.02.2015_16:44 как можно убрать проблем между подчеркиванием? с двух сторон, просто хочу сделать такой вывод hostname_11.02.2015_16:44
Спасибо

P.S пока писал разобрался) спасибо всем, ниже как сделал может пригодятся костыли
print sock[:12]+("_")+now_time.strftime("%d.%m.%Y_%H:%M")

Отредактировано Djam36 (Фев. 11, 2015 15:48:17)

Офлайн

#2 Фев. 11, 2015 15:51:25

Alex_HH
Зарегистрирован: 2014-03-03
Сообщения: 91
Репутация: +  13  -
Профиль   Отправить e-mail  

Удалить пробел между двумя переменными

print now_time.strftime("{}_%d.%m.%Y_%H:%M").format(sock[:12])

Так как по мне изящней



————–
Зимой и летом heavy metall.
Технический прогресс - это падение вверх. Alex_HH (с)
Эстетизация жестокости есть квинтэссенция смысла человеческого существования. Alex_HH (с)
После бога идет не пустота, там метаданные. Alex_HH (с)

Офлайн

#3 Фев. 11, 2015 15:55:50

Djam36
Зарегистрирован: 2014-01-21
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить пробел между двумя переменными

Alex_HH
Да возможно изящней, для тех кто хорошо разбирается в Python) т.к все кто будет работать со скриптом не знают Python, а я только 5 день изучаю, думаю будет понятнее
print sock[:12]+("_")+now_time.strftime("%d.%m.%Y_%H:%M")
А когда уже подучу python в любом случае буду переделывать скрипт, т.к там щас сплошные костыли, тогда и воспользуюсь возможно вашим советом) спасибо за рекомендацию)

Офлайн

#4 Фев. 11, 2015 16:00:19

Alex_HH
Зарегистрирован: 2014-03-03
Сообщения: 91
Репутация: +  13  -
Профиль   Отправить e-mail  

Удалить пробел между двумя переменными

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



————–
Зимой и летом heavy metall.
Технический прогресс - это падение вверх. Alex_HH (с)
Эстетизация жестокости есть квинтэссенция смысла человеческого существования. Alex_HH (с)
После бога идет не пустота, там метаданные. Alex_HH (с)

Офлайн

#5 Фев. 11, 2015 23:12:07

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9890
Репутация: +  854  -
Профиль   Отправить e-mail  

Удалить пробел между двумя переменными

>>> import datetime
>>> 
>>> dt = datetime.datetime.now()
>>> '{:%d.%m.%Y_%H:%M}'.format(dt)
'12.02.2015_07:10'
>>>

У класса datetime определён свой метод форматирования.
>>> dt.__format__
<built-in method __format__ of datetime.datetime object at 0xb753db90>
>>>

>>> format(dt, '%d.%m.%Y_%H:%M')
'12.02.2015_07:11'
>>>

Djam36
в любом случае буду переделывать скрипт
Не, вот как напишешь, так оно и будет потом лежать и работать. Потому что либо его надо заново писать будет (тратить время), либо оставить в таком виде. Грабли вылезут, когда условия задачи начнут расширяться типа “добавь там то, добавь там это, ой, а у нас поменялось вот это”. И там станет ясно, что ничего нельзя менять, потому что старое сломается.



Отредактировано py.user.next (Фев. 11, 2015 23:26:43)

Офлайн

#6 Фев. 12, 2015 11:13:06

Djam36
Зарегистрирован: 2014-01-21
Сообщения: 14
Репутация: +  0  -
Профиль   Отправить e-mail  

Удалить пробел между двумя переменными

py.user.next
Спасибо, за пример.
По поводу что оно будет лежать, это не так, т.к я точно также изучал BASH, писал грабли потом исправлял по мере поступления знаний, даже если приходилось переписывать старое, пока старое работало, писал новое, потом старое в архив, новое запускал.
И в какой-то прекрасный день, посмотрел все свои старые подделки* и ужаснулся
В любом случае всем спасибо, тему можно закрывать

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version