我正在尝试从test2导入名为storePass()的类到test
我已经完成了这个 - >
test1->
import smtplib
from test2 import storePass
Gmail = storePass()
a = Gmail.returnPass()
test2->
class storePass():
Gmail_pass = "xcmsijw19021"
def returnPass(self):
return self.Gmail_pass
但是我收到以下错误 - >
TypeError: returnPass() takes 0 positional arguments but 1 was given
当我尝试按如下方式编写代码时 - >
class storePass():
Gmail_pass = "xcmsijw19021"
def returnPass(self):
return self.Gmail_pass
Gmail = storePass()
a = Gmail.returnPass()
我没有错误,我可以毫无问题地执行print(a)。 所以我的导入确实有问题!
编辑:test1和test2都在同一个目录中!
答案 0 :(得分:0)
我只是试图运行你的代码,它适用于我的python 2.7.6解释器。
我打印a
,结果显示xcmsijw19021
。
这是我使用的代码:
file.py
import smtplib
from test2 import storePass
Gmail = storePass()
a = Gmail.returnPass()
print a
test2.py
class storePass():
Gmail_pass = "xcmsijw19021"
def returnPass(self):
return self.Gmail_pass
然后我确实运行了python file.py
,它正确地输出了我的输出。
我认为这可能是一些解释/问题?
Python3也可以使用print(a)
答案 1 :(得分:0)
我尝试在Ubuntu 16.04 python 2.7上运行它,它按预期工作。确保您的两个文件位于同一文件夹中,或者test2路径位于PYTHONPATH。
无论如何 F.Leone python没有编译器,据我所知,它不依赖于特定的IDE。