pyrss2gen,语法错误

时间:2012-05-20 11:14:24

标签: python

这就是我所拥有的。我收到'])'的语法错误,我不明白为什么?

import datetime
import PyRSS2Gen

jp = "Mokuyoubi"
en = "Thursday"

rss = PyRSS2Gen.RSS2(
    title = "Vocab of the Day - JapLearn.com",
    link = "http://www.JapLearn.com",
    description = "The latest JapLearn.com"
                  "Vocab of the Day!",

    lastBuildDate = datetime.datetime.utcnow(),

    items = [
       PyRSS2Gen.RSSItem(
         title = "Vocab of the Day - Date",
         link = "http://www.JapLearn.com",
         description = "   Japanese: "+jp+
                       "Translation: "+en,
         pubDate = datetime.datetime()
    ])

rss.write_xml(open("japlearn-votd.xml", "w"))

2 个答案:

答案 0 :(得分:3)

发布的代码存在两个问题:

  1. 此处缺少对应的右括号 声明

    rss = PyRSS2Gen.RSS2(

  2. 此外,正如@RanRag指出的那样,您的])就在线下方 从pubDate开始需要撤消到)]
  3. 我建议使用一个匹配括号的编辑器(我使用emacs)和一些工具,如pylint,pychecker等......来帮助解决这些类型的问题。

答案 1 :(得分:2)

items = [
       PyRSS2Gen.RSSItem(
         title = "Vocab of the Day - Date",
         link = "http://www.JapLearn.com",
         description = "   Japanese: "+jp+
                       "Translation: "+en,
         pubDate = datetime.datetime()
    )]

首先关闭(括号,然后关闭[

正如@levon所说,这些事情应由你的editor处理。我个人使用Vim和syntastic进行自动语法检查。

您还需要为pudate = datetime.datetime()提供适当的参数。看看给出here的示例。

您的代码在执行时给了我这个错误。

  File "rss.py", line 22, in <module>
    pubDate = datetime.datetime(),
TypeError: Required argument 'year' (pos 1) not found