官方文档说:
object.__bytes__(self)被调用
bytes以计算对象的字节字符串表示。这应该返回一个bytes对象。
但是当我执行dir(object)or dir(bytes)or 时dir(bytearray),该__bytes__方法不会出现。那么在哪里可以找到呢?
PEP 428(pathlib自 Python 3.4 起)可能是bytes.
路径的字符串表示形式是原始文件系统路径本身(以本机形式,例如 Windows 下带有反斜杠),您可以将其传递给将文件路径作为字符串的任何函数:
Run Code Online (Sandbox Code Playgroud)>>> >>> p = PurePath('/etc') >>> str(p) '/etc'类似地,在路径上调用 bytes 会将原始文件系统路径作为 bytes 对象提供,由 os.fsencode() 编码:
Run Code Online (Sandbox Code Playgroud)>>> >>> bytes(p) b'/etc'
这些转换是通过神奇的方法发生pathlib.__str__()的pathlib.__bytes__()。
| 归档时间: |
|
| 查看次数: |
3269 次 |
| 最近记录: |