无法正确实现python文件的导入

时间:2017-08-24 09:52:44

标签: python python-3.x class import python-import

我正在尝试从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都在同一个目录中!

2 个答案:

答案 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。