Python, comment puis-je imprimer le datetime courant sur la même ligne comme un message texte?

StackOverflow https://stackoverflow.com/questions/4525407

  •  13-10-2019
  •  | 
  •  

Question

Premières expériences avec Python ici, je veux être en mesure d'imprimer un texte avec l'heure / date que le premier élément sur la ligne.

est ce que je suis en mesure de faire cuire jusqu'à présent, mais il semble que je suis syntaxiquement incorrect, quelqu'un peut-il s'il vous plaît me corriger?

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()

Amitiés

Était-ce utile?

La solution

Je pense que vous cherchez quelque chose comme

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

Pour référence ultérieure, voici une façon de le faire en Python 3:

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

La méthode .format() a été introduit dans le python 2.6.

Autres conseils

Deux erreurs possibles (la seconde définie):

  1. besoins de Exception,e à remplacer par Exception as e (selon la version Python).
  2. L'opérateur% nécessite un argument tuple. "%d %d closed" % (a, b)
>>> print "%s %d closed " % (now_text,remote_port)
2011-03-15 14:46 9002 closed

Ceci est mon opinion:

#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))
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top