0

我正在编写一个程序,它从指定的文本文件(忽略空白和非数字行)中读取数字,每个文件都在自己的行上,并将每个文件作为单独的条目写入列表。基本上,该函数不只是将内容附加到列表,而是将列表与内容同步。

我尝试过的几件事:

y = []
#x is textfile, y is list variable
def parse_file(x,y):
    with open(x, 'r') as f:
        for line in f:
            if (line.strip()).isdigit():
                y = [int(line.strip())]

parse_file('text.txt',y)

和:

y = []
#x is textfile, y is list variable
def parse_file(x,y):
    z = []
    with open(x, 'r') as f:
        for line in f:
            if (line.strip()).isdigit():
                z.append(int(line))
    y = z
    print(z)

parse_file('text.txt',y)

这两种情况都会导致y保持空白。我在这里做错了什么?

4

1 回答 1

1

原因y仍然是空的,因为您是在本地范围内修改它,而不是在全局范围内。既然你从y一个空列表开始,那么当它实际上包含一些东西时如何定义它呢?这是一个工作示例:

def parse_file(x):
    y = []
    with open(x, 'r') as f:
        for line in f:
            if (line.strip()).isdigit():
                y.append(int(line.strip()))
    return y

y = parse_file(x)
于 2013-07-26T07:10:35.060 回答