Python:[Errno 2]没有这样的文件或目录

时间:2016-09-23 09:50:48

标签: python-2.7

我想打开并阅读特定文件夹中的所有csv文件。 我是OS X El Capitan版本10.11.6,我使用的是Python 2.7.10。 我在phyton文件中有以下功能:

def open_csv_files(dir):
for root,dirs,files in os.walk(dir):
    for file in files:
        if file.endswith(".csv"):
            f= open(file)
            print "FILE OPEN, AND DO SOMETHING... "
            f.close
return

我致电open_csv_file(./dati/esempi)

此程序返回

IOError: [Errno 2] No such file or directory: 'sensorfile_1.csv'

我尝试用绝对路径/Users/Claudia/Desktop/Thesis/dati/esempi/调用该过程,但我有同样的错误。

此外我定义了另一个在文件夹中打印所有文件名的程序,这个程序正确打印文件夹中的所有文件名。

感谢您的帮助。

1 个答案:

答案 0 :(得分:5)

您需要根据root(基础目录)和文件名的值构建文件的绝对路径。

import os


def open_csv_files(directory):
    for root, dirs, files in os.walk(directory):
        for file_name in files:
            if file_name.endswith(".csv"):
                full_file_path = os.path.join(root, file_name)
                with open(full_file_path) as fh:
                    print "Do something with", full_file_path