繁体   English   中英

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

[英]Trouble importing variables from one file to another

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

我将登录信息保存在名为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'

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

# 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,以便将其作为软件包包含在内。

Login.py

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

现在尝试这个:

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

我终于开始工作了!

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

感谢您的所有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM