Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 打开csv文件时出错_Python - Fatal编程技术网

Python 打开csv文件时出错

Python 打开csv文件时出错,python,Python,我想循环浏览一个文件。我可以得到它,我可以打印它的位置,但我不断得到错误 import os, sys directory = sys.argv[1] for root, dirs, files in os.walk(directory): if len(files) >= 3: for f in files: print(os.path.join(root, f)) if f.endswith(".csv"):

我想循环浏览一个文件。我可以得到它,我可以打印它的位置,但我不断得到错误

import os, sys

directory = sys.argv[1]
for root, dirs, files in os.walk(directory):
    if len(files) >= 3:
        for f in files:
            print(os.path.join(root, f))

            if f.endswith(".csv"):
                print f + " made it this far"
                with open(os.path.join(directory, f), "r") as d:
                    for line in d:
                        print "hello"
我的读数

/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca.wav
/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca.xml
/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca_edited.xml
/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/foo.csv
foo.csv made it this far
Traceback (most recent call last):
  File "findFiles.py", line 16, in <module>
    with open(os.path.join(directory, f), "r") as d:
IOError: [Errno 2] No such file or directory: '/Users/eeamesX/work/data/GERMANY/DE_023/continuous/foo.csv'
/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca.wav
/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca.xml
/Users/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca#
/用户/eeamesX/work/data/GERMANY/DE_023/continuous/2015-06-01#ab6686a5-c733-4055-a15e-b28b9705b6ca/foo.csv
foo.csv做到了这一点
回溯(最近一次呼叫最后一次):
文件“findFiles.py”,第16行,在
将open(os.path.join(directory,f),“r”)作为d:
IOError:[Errno 2]没有这样的文件或目录:'/Users/eeamesX/work/data/GERMANY/DE_023/continuous/foo.csv'

问题在于
目录
是您开始遍历文件系统的起点。在os.walk(directory)中对root、dirs、files执行
操作时,您会得到当前目录为
root
,它在
dirs
中包含的子目录列表,以及它在
files
中包含的文件列表。因此,如果使用
f
加入
directory
,您将在开始文件系统遍历的目录中搜索
f
。该起始位置中可能不存在这样的文件


相反,您希望打开包含该文件的目录中的文件(即
root
)。因此,您应该
os.path.join(root,f)
来获得正确的文件路径

您想要的
os.path.join(root,f)
而不是
os.path.join(directory,f)
请回答,我接受!