ofe*_*fer 5 permissions python-2.x nameerror python-3.x
以下行:
except (IOError, PermissionError, FileNotFoundError) as e:
Run Code Online (Sandbox Code Playgroud)
使用python 2.75运行它时给出以下错误消息:
NameError: global name 'PermissionError' is not defined
Run Code Online (Sandbox Code Playgroud)
但是python 3.3的一切运行良好.
思考/建议吗?
这为我解决了python 2.75和3.31的问题:
from errno import EACCES, EPERM, ENOENT
def print_error_message(e, file_name):
#PermissionError
if e.errno==EPERM or e.errno==EACCES:
print("PermissionError error({0}): {1} for:\n{2}".format(e.errno, e.strerror, file_name))
#FileNotFoundError
elif e.errno==ENOENT:
print("FileNotFoundError error({0}): {1} as:\n{2}".format(e.errno, e.strerror, file_name))
elif IOError:
print("I/O error({0}): {1} as:\n{2}".format(e.errno, e.strerror, file_name))
elif OSError:
print("OS error({0}): {1} as:\n{2}".format(e.errno, e.strerror, file_name))
try:
...
except (IOError, OSError) as e:
print_error_message(e,full_name)
sys.exit()
except:
print('Unexpected error:', sys.exc_info()[0])
sys.exit()
Run Code Online (Sandbox Code Playgroud)
欢迎提出想法/意见/建议.
| 归档时间: |
|
| 查看次数: |
7720 次 |
| 最近记录: |