Python 如何处理;NotDirectoryError:[Errno 20]不是目录:";
我的错误Python 如何处理;NotDirectoryError:[Errno 20]不是目录:";,python,jupyter-notebook,Python,Jupyter Notebook,我的错误 --------------------------------------------------------------------------- NotADirectoryError Traceback (most recent call last) <ipython-input-2-b4da6c1da6e1> in <module> 12 lst = [] 13 for d in lst1
---------------------------------------------------------------------------
NotADirectoryError Traceback (most recent call last)
<ipython-input-2-b4da6c1da6e1> in <module>
12 lst = []
13 for d in lst1:
---> 14 lst = lst + listdir(d)
15 lst
<ipython-input-2-b4da6c1da6e1> in listdir(path)
4 def listdir(path): #传入存储的list
5 lst = []
----> 6 for file in os.listdir(path):
7 file_path = os.path.join(path, file)
8 lst.append(file_path)
NotADirectoryError: [Errno 20] Not a directory: '/Users/zhangzhenzhi/Desktop/Term2_Final/CASA0006/CityofLondonCrimeData/.DS_Store'
我想将所有文件的路径保存到listm,但我运行了它,它显示了一个错误,我不知道我能做什么?您需要在“os.listdir”之前检查对象的类型
def listdir(路径):#传入存储的列表
lst=[]
如果os.path.isdir(路径):#检查此路径=文件夹路径
对于os.listdir(路径)中的文件:
file\u path=os.path.join(路径,文件)
lst.append(文件路径)
查看异常。
NotDirectoryError:[Errno 20]不是目录:'/Users/zhangzhenzhi/Desktop/Term2_Final/casa006/CityofLondonCrimeData/.DS_Store'
这条线
lst1=listdir(r'/Users/zhangzhenzhi/Desktop/Term2_Final/casa006/CityofLondonCrimeData')
这将返回所有路径的列表,包括具有完整路径的文件,“.DS_Store”是一个文件。然后,您还可以循环查看在lst1
上获得的内容。在这种情况下,os.listdir
尝试对导致引发异常的文件(回溯中的路径)进行操作
更可靠的方法是为此目的使用包glob。试一试
glob.glob(path)
并返回该路径下的路径列表。如果希望它是递归的,请将/**
添加到路径的末尾,并添加recursive=True
参数
# -*- coding: utf-8 -*-
import os
def listdir(path): #传入存储的list
lst = []
for file in os.listdir(path):
file_path = os.path.join(path, file)
lst.append(file_path)
return lst
lst1 = listdir(r'/Users/zhangzhenzhi/Desktop/Term2_Final/CASA0006/CityofLondonCrimeData' )
lst = []
for d in lst1:
lst = lst + listdir(d)
lst