Python | os.fsencode 函数

Lasted 2020-12-05 12:28:03

os.fsencode 函数将类路径 filename 编码为文件系统编码,使用 'surrogateescape' 错误回调方法,在 Windows 上会使用 'strict',bytes 类型则原样返回。

fsdecode() 是此函数的逆向函数。

函数定义

os.fsencode(filename)
# 函数定义
if sys.version_info >= (3, 6):
    def fsencode(filename: Union[str, bytes, PathLike[Any]]) -> bytes: ...
else:
    def fsencode(filename: Union[str, bytes]) -> bytes: ...

参数

  • checkfilename - 路径类 filename。

返回值

  • checkbytes - 路径编码。

示例1: - 使用 os.fsencode() 函数编码路径。

# coding=utf-8

# Python3 代码
# 使用 os.fsencode() 函数编码路径

# 引入 os 库
import os

# 文件路径
filename = "/tmp/文件.txt"

# 编码文件路径
encode = os.fsencode(filename)

print('编码::%s'%encode)

# 解码文件路径
print('解码::%s'%os.fsdecode(encode)) 
编码::b'/tmp/\xe6\x96\x87\xe4\xbb\xb6.txt'
解码::/tmp/文件.txt