查看Python中的所有文件处理方法和所有类型的错误

s2j5cfk0  于 2023-04-22  发布在  Python
关注(0)|答案(1)|浏览(94)

我如何能够编写一个代码,我可以使用它来查看所有的文件方法,如python 3中的close(), detach(), readline(), readlines() ...。我还想有另一个代码,显示所有可能的errors,如ArithmeticError, AssertionError, MemoryError ...。我试图使用dir()能够列出预期的输出,但到目前为止是不成功的。我将如何去编码或这些?

xqk2d5yq

xqk2d5yq1#

打开一个文件并在打开的文件对象上使用dir()。删除以_开头的条目,因为它们通常是实现细节。如果你只想要可调用的方法,使用getattr查找对象中的属性,使用callable查看它是否是一个方法。根据文件打开的模式,列表会略有不同。

>>> t = open('x.txt', 'w')   # text mode
>>> b = open('y.txt', 'wb')  # binary mode
>>> print('\n'.join(x for x in dir(t) if callable(getattr(t, x)) and not x.startswith('_')))
close
detach
fileno
flush
isatty
read
readable
readline
readlines
reconfigure
seek
seekable
tell
truncate
writable
write
writelines
>>> print('\n'.join(x for x in dir(b) if callable(getattr(b, x)) and not x.startswith('_')))
close
detach
fileno
flush
isatty
read
read1
readable
readinto
readinto1
readline
readlines
seek
seekable
tell
truncate
writable
write
writelines

对于错误,以下方法有效:

>>> print('\n'.join(x for x in dir(__builtins__) if x.endswith('Error')))
ArithmeticError
AssertionError
AttributeError
BlockingIOError
BrokenPipeError
BufferError
ChildProcessError
ConnectionAbortedError
ConnectionError
ConnectionRefusedError
ConnectionResetError
EOFError
EnvironmentError
FileExistsError
FileNotFoundError
FloatingPointError
IOError
ImportError
IndentationError
IndexError
InterruptedError
IsADirectoryError
KeyError
LookupError
MemoryError
ModuleNotFoundError
NameError
NotADirectoryError
NotImplementedError
OSError
OverflowError
PermissionError
ProcessLookupError
RecursionError
ReferenceError
RuntimeError
SyntaxError
SystemError
TabError
TimeoutError
TypeError
UnboundLocalError
UnicodeDecodeError
UnicodeEncodeError
UnicodeError
UnicodeTranslateError
ValueError
WindowsError
ZeroDivisionError

相关问题