Python, как я могу напечатать текущую дату и время в той же строке, что и текстовое сообщение? - PullRequest
2 голосов
/ 24 декабря 2010

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

Это то, что я смог приготовитьпока, но, похоже, я синтаксически неверен, может кто-нибудь поправит меня?

import socket
import sys
import time
import datetime

remote_host = "127.0.0.1"

now = datetime.datetime.now()

for remote_port in [9002,8080]:
        now_text = now.strftime("%Y-%m-%d %H:%M")
        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        sock.settimeout(60)
        try:
                sock.connect((remote_host, remote_port))
        except Exception,e:
                print "%d %d closed " % now_text remote_port
        else:
                print  "%d %d open" % now_text remote_port
        sock.close()

С уважением

Ответы [ 4 ]

5 голосов
/ 24 декабря 2010

Я думаю, вы ищете что-то вроде

print "%d %d closed" % (now_text, remote_port)

Для дальнейшего использования, вот один из способов сделать это в Python 3:

print("{0} {1} closed".format(now_text, remote_port))

Метод .format() был представлен в Python 2.6.

1 голос
/ 24 декабря 2010

Две возможные ошибки (вторая определенная):

  1. Exception,e необходимо заменить на Exception as e (в зависимости от версии Python).
  2. Оператору% требуется аргумент кортежа: "%d %d closed" % (a, b).
0 голосов
/ 20 мая 2017

Это мой дубль:

#the code below will print the date and time on separate lines.

from datetime import datetime
now =datetime.now()

print('%s/%s/%s' %(now.month,now.day,now.year))
print('%s:%s:%s' %(now.hour,now.minute,now.second))
0 голосов
/ 15 марта 2011
>>> print "%s %d closed " % (now_text,remote_port)
2011-03-15 14:46 9002 closed
...