我想执行python类的函数。 Oauth.py
import....
class Oauth:
def __init__(self, requesttokenurl, accesstokenurl, resourceurl, version):
.....
def getList(self):
.......
return list
if __name__ == "__main__":
.......
我测试在终端中运行命令,我尝试运行以下命令。 命令:
python -c 'import Oauth; Oauth.getList()'
错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
AttributeError: 'module' object has no attribute 'getList'
命令:
python -c 'from Oauth import *; print getList()'
错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'getList' is not defined
命令:
python -c 'from Oauth import getList; print getList()'
错误:
Traceback (most recent call last):
File "<string>", line 1, in <module>
ImportError: cannot import name getList
答案 0 :(得分:2)
尝试:
python -c 'from Oauth import Oauth; Oauth(<args>).getList()'
该模块名为Oauth
,因此您尝试使用的类实际上是Oauth.Oauth
。您需要创建一个实例来调用getList()
,这就是您需要添加括号(和一些args)的原因。以上等同于以下Python程序:
import Oauth
oa = Oauth.Oauth(<args>)
oa.getList()
不确定您需要哪些构造函数参数。
答案 1 :(得分:0)
在阅读André的回复后,我收到了这个错误:
TypeError: __init__() takes exactly 5 arguments (2 given)
构造函数需要5个参数,在这种情况下函数不需要参数。发送空参数。命令如下:
python -c 'from Oauth import Oauth; print Oauth("", "", "", "").getList()'