【发布时间】:2014-12-31 05:10:31
【问题描述】:
我在处理包含“ș”字符(UTF-8 中的 \xC8\x99 - 下方带有逗号的拉丁小写字母 S)的文件时遇到了一些问题。
我正在创建一个ș.txt 文件并尝试使用os.listdir() 将其取回。不幸的是,os.listdir() 将其返回为s\xCC\xA6 ("s" + COMBINING COMMA BELOW),我的测试程序(如下)失败。
这发生在我的 OS X 上,但它适用于 Linux 机器。知道究竟是什么导致了这种行为(两个环境都配置了 LANG=en_US.UTF8)?
这是测试程序:
#coding: utf-8
import os
fname = "ș.txt"
with open(fname, "w") as f:
f.write("hi")
files = os.listdir(".")
print "fname: ", fname
print "files: ", files
if fname in files:
print "found"
else:
print "not found"
【问题讨论】: