读取多个文件 "except IOError as exc:"
Reading multiple files "except IOError as exc:"
我正在寻找通过一些示例如何读取多个数据文件和经常遇到这些代码弹出窗口:
try:
...
except IOError as exc:
if exc.errno != errno.EISDIR:
raise
但是我看不到任何人试图解释所以我希望你们能帮助我理解它是什么吗?
这是一个例子:
import glob
import errno
...
#Create a list of the path of all .txt files
files_list = glob.glob(data_path)
#Iterate through the files in files_list
for file_name in files_list:
try:
#something
except IOError as exc:
if exc.errno != errno.EISDIR:
raise
在这里,我们将逐行分析这些代码。
except IOError as exc:
上面一行只是捕获了一个异常,并在变量exc
中获取了错误信息。异常的意思是
when a system function returns a system-related error, including I/O failures such as “file not found” or “disk full” (not for illegal argument types or other incidental errors). Python 3 Docs
注意 Python 3,现在是 OSError
,因为 IOError
已合并到其中。
if exc.errno != errno.EISDIR:
这一行将检查错误类型。这是由错误的 errno
属性给出的。具体来说,errno.EISDIR
表示出现错误是因为 'file' 实际上是一个文件夹/目录。可以找到更多信息 here :D.
raise
现在 if 语句已经通过并检查了错误类型。如果错误类型并不意味着给定的路径是一个目录,它只会让它通过这里的 raise
。这意味着异常可能意味着从 'Permission Denied' 到 'Out of Memory'.
的任何内容
希望对您有所帮助:D
我正在寻找通过一些示例如何读取多个数据文件和经常遇到这些代码弹出窗口:
try:
...
except IOError as exc:
if exc.errno != errno.EISDIR:
raise
但是我看不到任何人试图解释所以我希望你们能帮助我理解它是什么吗?
这是一个例子:
import glob
import errno
...
#Create a list of the path of all .txt files
files_list = glob.glob(data_path)
#Iterate through the files in files_list
for file_name in files_list:
try:
#something
except IOError as exc:
if exc.errno != errno.EISDIR:
raise
在这里,我们将逐行分析这些代码。
except IOError as exc:
上面一行只是捕获了一个异常,并在变量exc
中获取了错误信息。异常的意思是
when a system function returns a system-related error, including I/O failures such as “file not found” or “disk full” (not for illegal argument types or other incidental errors). Python 3 Docs
注意 Python 3,现在是 OSError
,因为 IOError
已合并到其中。
if exc.errno != errno.EISDIR:
这一行将检查错误类型。这是由错误的 errno
属性给出的。具体来说,errno.EISDIR
表示出现错误是因为 'file' 实际上是一个文件夹/目录。可以找到更多信息 here :D.
raise
现在 if 语句已经通过并检查了错误类型。如果错误类型并不意味着给定的路径是一个目录,它只会让它通过这里的 raise
。这意味着异常可能意味着从 'Permission Denied' 到 'Out of Memory'.
希望对您有所帮助:D