我正在使用 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/