无法将变量从一个文件导入到另一个文件

时间:2019-08-02 22:22:43

标签: python

很抱歉,如果我要重复一个问题,但是我尝试了许多可能的解决方案,但仍然无法正常工作。

我将登录信息保存在名为Login.py的文件中,该文件包含:

username = 'username'
password = 'password'

我想将此导入到另一个脚本文件。我尝试过:

from Login import username, password
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-17-d732c46e191a> in <module>
----> 2 from Login import username, password

ImportError: cannot import name 'username' from 'Login'

我尝试过:

from Login import *

Login.username
Login.password
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-19-31add6b3211f> in <module>
----> 1 Login.username
      2 Login.password

AttributeError: module 'Login' has no attribute 'username'

我尝试过:

from Login import *

username
password
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
<ipython-input-22-1731614b5154> in <module>
----> 1 username
      2 password

NameError: name 'username' is not defined

最后,我尝试了:

import Login
---------------------------------------------------------------------------
AttributeError                            Traceback (most recent call last)
<ipython-input-25-31add6b3211f> in <module>
----> 1 Login.username
      2 Login.password

AttributeError: module 'Login' has no attribute 'username'

两个文件都在同一工作目录中。我缺少什么,还没有尝试过?

3 个答案:

答案 0 :(得分:0)

# Login.py 
username = 'username'
password = 'password'

# Other file.py
import Login
print(Login.username)
print(Login.password)

这应该可以工作,或者您存在工作环境问题。在这种情况下,请考虑添加特定路径:

import sys
sys.path.append('/path/to/other/script/folder')

此外,请确保文件夹中还包含 init .py,以便将其作为程序包包含在内。

答案 1 :(得分:0)

Login.py

class login:
def username():
    return 'username'
def password():
    return 'password'

现在尝试:

>>> from Login import login
>>> print(login.username())
'username'
>>> print(login.password())
'password'

答案 2 :(得分:0)

我终于开始工作了!

由于Login.py是一个很小的文件,因此我决定删除该文件的所有痕迹,然后重新开始。我确保在工作目录中有__init__.py,并且在主脚本中包含了import syssys.path.append('\working\directory\')。然后,我启动了一个名为TLogin.txt的新文本文件,其代码与我删除的文件相同。然后,我将扩展名从txt更改为py。终于成功了。

感谢所有帮助。