0

我正在尝试使用以下代码从我的数据目录中的每个文件计算最大值:

from os import listdir 

def max_files(dir):
    l = listdir(dir)
    for n in l:
        list_num(n)

def list_num(file):
    f = open(file)
    lines = f.readlines()   
    v=[]
    for n in lines:
        for s in n.split():
            v.append(float(s))  
            mx = v[0]  
            maxi=[] 
            for i in v:
                if i > mx:
                    mx = i
                    maxi.append(mx)
            continue
       continue
    return maxi

打印最大文件(路径)

我还检查了我的路径,它是完全正确的。错误是:

f = open(file)
IOError: [Errno 2] No such file or directory: 'bvp.txt'

bvp.txt 是我数据目录中的第一个文件!我对 Python 或编程不是很有经验,所以遇到了一些麻烦,实际上我现在开始在学院使用它。

4

1 回答 1

0

在使用返回目录中文件列表的函数的返回值时,您遇到了一个常见的困惑。

listdir只是返回该目录中的文件列表。它不会返回这些文件的路径,只是返回文件名。因此,除非您正在操作的目录是当前目录,否则这是行不通的;您正在尝试打开当前目录中的每个文件。

每当使用 的结果时listdir,如果您不打算将工作目录更改为该目录,则需要在打开文件之前将目录名称添加回文件中。因此,将文件的完整路径传递给,list_num而不仅仅是文件名:

list_num(dir + '/' + n)
于 2013-03-17T03:11:20.660 回答