[英]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 sys
和sys.path.append('\\working\\directory\\')
。 然后,我使用与删除的文件相同的代码启动了一个名为TLogin.txt
的新文本文件。 然后我将扩展名从txt
更改为py
。 终于成功了。
感谢您的所有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.