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)
请回答,我接受!