Python | os.fsencode 函數

最近更新時間 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
rss_feed