首页 > 解决方案 > 使用 datetime 模块获取无效语法

问题描述

我正在尝试使用 datetime 模块做一些应该相当简单的事情:

import sys
import datetime
from twython import Twython

CONSUMER_KEY = 'omitted'
CONSUMER_SECRET = 'omitted'
ACCESS_KEY = 'omitted'
ACCESS_SECRET = 'omitted'

api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS_KEY,ACCESS_SECRET)

time = print(datetime.datetime.now())
api.update_status(status='The power went out in the dorms again at '+time+'. Please fix. [tweeted automatically using python]')

我已经根据“print timenow”行的结果选择了我的时间格式,但是它说

File "twitterbot.py", line 12
  time=print(datetime.datetime.now())
           ^
SyntaxError: invalid syntax

谁能看到我做错了什么?

谢谢

标签: pythontwitter-bootstraptwitterraspberry-pi

解决方案


在 Python 2 中,print是一种特殊的语言结构,而不是常规函数。它不返回值,因此您不能将其返回值分配给变量。你可能的意思是:

time = datetime.datetime.now()
print(time)

(请注意,在 Python 2 中编写print time不带括号是合法的,但我建议不要这样做。即使你不能使用 Python 3(也许你可以!),养成用 Python 编写代码的习惯是件好事3 种风格来缓解过渡。)

在 Python 3 中,您编写的内容在语法上是有效的。但是print返回None,所以time变量不会有你想要的值。


推荐阅读