Python 为什么';我的代码没读这行吗?

Python 为什么';我的代码没读这行吗?,python,debugging,sftp,Python,Debugging,Sftp,因此,我制作了一个程序,可以从SFTP服务器读取带有密码的用户名(密码是经过盐渍和哈希处理的),用户可以安全地登录。用户也可以创建自己的帐户,但我在检查用户名是否已经存在时遇到了问题。我已经成功地编写了正确的代码,但由于一些奇怪的原因,我无法找到为什么我的代码不会读取一个for循环,至少它不会打印“debug”字符串,如下例所示。任何帮助都将不胜感激 def createUser(): f = ftp.open("paroolid.txt", "a+") passListDecode = f.r

因此,我制作了一个程序,可以从SFTP服务器读取带有密码的用户名(密码是经过盐渍和哈希处理的),用户可以安全地登录。用户也可以创建自己的帐户,但我在检查用户名是否已经存在时遇到了问题。我已经成功地编写了正确的代码,但由于一些奇怪的原因,我无法找到为什么我的代码不会读取一个for循环,至少它不会打印“debug”字符串,如下例所示。任何帮助都将不胜感激

def createUser():
f = ftp.open("paroolid.txt", "a+")
passListDecode = f.read().decode("UTF-8")
passList = passListDecode.splitlines()
newName = input("Uus kasutajanimi: ")
if len(newName) <= 0:
    print("Nimi peab olema vähemalt 1 täht!")
    createUser()
#This is the loop that won't be read
for line in passList:
    print("debug")
    pp = ""
    pp += line.split(",")[1].strip().split("-")[0].strip()
    pp += newName
    userInFile = hashlib.md5(pp.strip().encode()).hexdigest()
    if userInFile == line.split(":")[0].strip():
        print("Nimi juba olemas!")
        createUser()
#But this line is read successfully, like the above for loop is just being skipped.
newPass = getpass.getpass("Uus parool: ")
def createUser():
f=ftp.open(“paroolid.txt”,“a+”)
passListDecode=f.read().decode(“UTF-8”)
passList=passListDecode.splitlines()
newName=输入(“Uus kasutajanimi:”)
如果len(newName)每个人,我都会把它修好。
我了解到在打开文件时使用“a+”模式时不能使用read()函数,需要使用seek(0)。

问题解决了,多亏迈克·斯科蒂(Mike Scotty)建议列表可能是空的,我以前没有想到。

打印(passList)
的输出是什么?也许你的列表是空的,难怪你从来没有进入循环。出于某种原因,列表显示为空,但我可以使用凭据登录,这意味着程序仍然可以读取文件。。。所以我还需要解决另一个问题。。