打开姓名文件

2024-10-02 20:38:26 发布

您现在位置:Python中文网/ 问答频道 /正文

当我试图打开这个函数的文件时,我没有得到所有的名字。我想要这个:

Smith, Joe,9911991199,smithjoe9,99,88,77,66
Ash, Wood,9912334456,ashwood,11,22,33,44
Full, Kare,9913243567,fullkare,78,58,68,88

但我在测试函数时得到的结果是:

^{pr2}$

谁能帮我修好这个吗?我怎样才能包括第一个人的名字?在

def open_grades_file(filename):
    '''(str) -> file

    Open filename, read past its one-line header and
    return the open file.
    '''
    file = open(filename, 'r')
    file.readline()
    for line in file:
        line.rstrip('\n')
        return file

Tags: 文件函数returnlineopenfilename名字full
3条回答

我不确定你是否需要返回任何东西,如果你只是想把一些东西打印到控制台或者需要更新一些变量,但是这个简单的函数会按顺序将所有行打印到控制台。在

def open_grades_file(filename):
    with open(filename, 'r') as f:
        for line in f:
            print(line.rstrip('\n'))

如果你能提供更多的背景来说明你想做什么,我可以给出一个更好的答案。在

如果要打印除第一行以外的所有行,可以使用true/false变量来跳过第一行。在

像这样:

^{pr2}$

如果希望函数实际与其docstring相对应,请使用:

def open_grades_file(filename):
    '''(str) -> file

    Open filename, read past its one-line header and
    return the open file.
    '''
    file = open(filename, 'r')
    file.readline()
    return file

但这是一件非常奇怪的事情,像这样的函数会更像Python:

^{pr2}$

读取一行标题后的所有文件:

def open_grades_file(filename):
    '''(str) -> (file)

    Open filename, read past its one-line header and
    return file.
    '''
    file = open(filename, 'r')
    file.readline()

    return file

# read all file past its one-line header
f = open_grades_file(filename).read()

print(f)

将打印:

^{pr2}$

相关问题 更多 >