在我创建的模块上使用dir时,我们能避免出现内置程序吗?比如,在这种情况下,我想避免出现内置库,如os、sys、random、struct、time、hashlib等。
>>> import endesive.pdf.cms
>>> dir(endesive.pdf.cms)
['EncodedString', 'SignedData', 'UnencryptedBytes', 'WNumberObject', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_cmath', 'backends', 'codecs', 'datetime', 'hashlib', 'io', 'pdf', 'pkcs12', 'po', 'random', 'sign', 'signer', 'struct', 'sys', 'time']
在模块中说明:
import sys
# Your code...
def __dir__():
return [x for x in globals() if x not in sys.modules]