python - 获取错误的错误号

标签 python error-handling paramiko

我需要从 Python 中发生的错误中获取错误号。

例如;尝试通过 Paramiko 包传输目录时,这段代码会出错:

try:
    sftp.put(local_path,target_path)    
except (IOError,OSError),errno:
    print "Error:",errno

为此我得到了输出,

Error: [Errno 21] Is a directory

我想利用错误号进入更多代码来传输目录和目录内容。

最佳答案

感谢您澄清您的问题。

Python 中的大多数Exception 都没有“错误编号”。一个异常(没有双关语意)是 HTTPError 异常,例如:

import urllib2 
try:
   page = urllib2.urlopen("some url")
except urllib2.HTTPError, err:
   if err.code == 404:
       print "Page not found!"
   else:
       ...

另一个异常(由 bobince 指出)是 EnvironmentError:

import os
try:
   f=open("hello")
except IOError, err:
   print err
   print err.errno
   print err.strerror
   print err.filename

输出

[Errno 2] No such file or directory: 'hello'
2
No such file or directory
hello

关于python - 获取错误的错误号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3241378/

相关文章:

Python脚本奇怪的问题

python - 2 种可能的封装解决方案

python - 在 Django 中使用 path() 找不到 404

java - 如何在 OOM 时使用 -XX :OnOutOfMemoryError= 执行脚本

reactjs - 如何在 React Native 中全局处理错误?

python - Fabric 没有使用正确的 key

python - 比较嵌套列表的相似度

delphi - Delphi : How to check if webbrowser has successfully loaded the page?

python - 仅使用标准库在 Python 中打开 SSH session

python - 使用 Python (sftp) 更改远程 Linux 系统的密码