你好,我是堆栈溢出社区的新手,所以我希望你也能理解我也是python新手。在我学校里,我们正在做python,但我们对此却没有太多的了解,我们还被分配了为经过身份验证的用户以及其他一些我们打算在课堂上更详细研究的代码进行登录的任务。 我们被告知要在家里尝试使经过身份验证的用户登录。要求必须是它必须从另一个文件中的表中获取数据,如果不是该用户,则它将要求它重试。这就是我试图做的。我们学习了如何做循环,我认为这是正确的。
这是我的main.py
from variables import authUsers
import time
##Import All Variables
count = 0
while count != 3:
authenticate = input('Please enter a Valid Username')
if authenticate in open(variables.py, 'r').readlines(1):
print ("hello")
else:
exit
这是我制作的variables.py
authUsers = ['userA', 'userB', 'userC']
它返回一条错误消息
Traceback (most recent call last):
File "G:\Python\Computer Science\main.py", line 14, in <module>
if authenticate in open(variables.py, 'r').readlines(1):
NameError: name 'variables' is not defined
我无法完全理解为什么它无法识别它们是否位于同一目录中。再次感谢。
这是我寻找的网站,目的是尝试解决我的问题,但我无法弄清哪里出了问题。
Import list variable from separate files in python
答案 0 :(得分:1)
您已经在主文件顶部导入了variables.py
文件。您不必打开它并以后手动读取行,因为它已经执行并且数据已经在内存中。
from variables import authUsers # this already imports the variables.py module.
...
if authenticate in authUsers: # you can just use the authUsers
... # no need to readline again