我写了一个很好的小应用程序,可以获取雅虎的天气信息并将其发布到Twitter上。它工作得完美无瑕,现在我想将代码重新排列成不同的命名文件,这样更合理。就在那时我遇到了一些问题。
以前,我有一个
Class
在里面
libtweather.py
. 那是我的
account
. 它允许我这么做
accountName.parseFeed()
我会得到分析过的雅虎天气作为输出。
(
__ini__
以天气URL、Twitter用户名和密码为参数)
这是从创建
等级
这样地:
exec '%s = lw.twitterWeather("%s", "%s", "%s")' % (item[0], item[1], item[2], item[3])
它将所有帐户名的列表保存在一个列表中,该列表作为参数传递给其他函数。
另一个功能
getWeather
通过以下方式获得天气:
def getWeather(accountList):
for item in accountList:
print item, ': ',
item = eval(item)
print item.parseFeed(), '\n
我现在决定把
天气预报
函数与
等级
但这条线
item = eval(item)
因为该文件中没有创建实例,所以给我带来了问题。它们都在主脚本中。
现在我的问题是:有什么方法可以把这些实例作为函数的参数?或者我必须把这个函数放到
等级
?即使我这样做了,我仍然需要
item.parseFeed()
对于列表中的多个项目,因此我仍然需要
项目=评估(项目)
不是吗?
事先谢谢。我的应用程序有点需要在这里全部发布,但是如果需要更好地理解的话,我会发布更多的代码。
更新:
我最终运行了我的
LiPtWeiTy.Py
在导入实例时创建实例,以便其内部的函数可以访问它们(在脚本底部添加了实例生成代码)。我相信有更好的方法,但它目前对我有效,我同意。