Python:无法读取文件中的最后一行

时间:2014-11-02 14:08:22

标签: python

我有以下python代码:

#module1
from module2 import reader

def registration(userName, password, fileName, delimiter):
    with open(fileName, 'a') as file:
        file.write(userName + delimiter + password + '\n')
    return reader(fileName, delimiter)


#module2
def reader(fileName, delimiter):
    retVal = []
    with open(fileName, 'r') as file:
        for line in file:
            pair = line.split(delimiter)
            pair[1] = pair[1].strip()
            retVal.append(pair)
    return retVal

现在,我应该得到的是包含用户名和密码字符串的列表列表。读者确实阅读了之前编写的条目,但没有读取刚刚通过注册功能添加的条目。如果我调用reader函数两次(在返回之前再一次),我的注册函数会返回正确的列表(使用新添加的用户)。

知道为什么会这样吗?

1 个答案:

答案 0 :(得分:1)

我遇到了用于调用这些函数的主要方法的问题。由于两个模块都有一个单独的main来打印出函数的结果(并且main在模块文件中被显式调用),因此当我导入函数时,读取器的主要被激活(这是我不知道的事情) python做了,尤其是当我使用from关键字时)。

无论如何,抱歉是误报。