Python,如何在与文本消息相同的行上打印当前日期时间?

时间:2010-12-24 09:29:33

标签: python python-2.4

首先使用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 个答案:

答案 0 :(得分:5)

我认为你正在寻找像

这样的东西
print "%d %d closed" % (now_text, remote_port)

为了将来参考,这里有一种方法可以在Python 3中实现:

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

在Python 2.6中引入了.format()方法。

答案 1 :(得分:1)

两个可能的错误(第二个明确的错误):

  1. Exception,e需要替换为Exception as e(取决于Python版本)。
  2. %运算符需要一个元组参数:"%d %d closed" % (a, b)

答案 2 :(得分:0)

>>> print "%s %d closed " % (now_text,remote_port)
2011-03-15 14:46 9002 closed

答案 3 :(得分:0)

这是我的看法:

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