【发布时间】:2013-07-25 06:18:39
【问题描述】:
我正在使用 glob.glob 从目录输入中获取文件列表。当试图打开上述文件时,Python 用这个错误反击我:
UnicodeEncodeError: 'charmap' 编解码器无法对位置 18 中的字符 '\xf8' 进行编码:字符映射到
通过先定义一个字符串变量,我可以这样做:
filePath = r"C:\Users\Jørgen\Tables\\"
有什么方法可以获取变量的 'r' 编码吗?
编辑:
import glob
di = r"C:\Users\Jørgen\Tables\\"
def main():
fileList = getAllFileURLsInDirectory(di)
print(fileList)
def getAllFileURLsInDirectory(directory):
return glob.glob(directory + '*.xls*')
还有很多代码,但是这个问题停止了进程。
【问题讨论】:
-
有 no
r编码。您正在定义一个原始字符串文字,从而避免使用过多的反斜杠。您的文件编码处理了ø,因此您定义了一个 unicode 值。 -
"C:\\Users\\Jørgen\\Tables\\"也有效。您的编辑器将其保存为 UTF-8,这是 Python 在解释源代码时使用的默认编码。 -
请向我们展示您产生该错误的代码。
标签: python unicode python-3.x glob