python - 类型错误 : takes exactly 0 arguments (1 given)

标签 python rss

我正在使用 python 生成 rss 文件,但是当我调用此方法时,它会发布错误“TypeError: writeRssFile() 恰好需要 0 个参数(给定 1 个)

#!/usr/bin/env python2
# encoding: utf-8
import os,PyRSS2Gen
def writeRssFile(*newslist):
   item =[]
   for i in range(0,len(newslist)):
        item.append(PyRSS2Gen.RSSItem(
            title = newslist[i].get('title'),
            description = newslist[i].get('content'),
            pubDate = datetime.datetime.now()))
   rss = PyRSS2Gen.RSS2(
   title = "Andrew's PyRSS2Gen feed",
   link = "http://www.dalkescientific.com/Python/PyRSS2Gen.html",
   description = "The latest news about PyRSS2Gen, a "
                 "Python library for generating RSS2 feeds",
   lastBuildDate = datetime.datetime.now(),
   items = item[:],
   )

   rss.write_xml(open("pyrss2gen.xml", "w"))

我想这样调用这个方法:

newslist=[{'title':'title1','content':'content1'},{'title':'title2','content':'content2'}]
writeRssFile(newslist)

我尝试过谷歌搜索,但我不太确定确切的原因是什么,所以希望可以从这里获得帮助。 谢谢!

最佳答案

您接受可变数量的参数。因此,您需要在调用时解压列表,如下所示

writeRssFile(*newslist)

此外,您还需要导入datetime模块。

除此之外,当范围实际上从0开始时,您可以省略它。所以,

range(0, len(newslist))

相同
range(len(newslist))

关于python - 类型错误 : takes exactly 0 arguments (1 given),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22927288/

相关文章:

html - 在 RSS 中显示 HTML

python - 在不更改目录的情况下写入 Python 中的新目录

python - Django REST Framework - 从补丁中的 QueryDict 获取参数

Python Dash 独立 HTML 文件与 Plotly 相同

Python:从 `datetime.datetime` 转换为 `time.time`

python - 使用 Python Beautifulsoup 抓取 html 文本和图像链接

python - 覆盖 `import` 以进行更复杂的模块导入

wordpress - 问题: How to display a Wordpress RSS feed in a browser that doesn't have a built in RSS reader?

c# - .net 中的 rss 解析器

rss - 使用第三方 RSS 提要