可能重复:
Character reading from file in Python如何定义从Unicode文件读取文件的字符串?
我想从所有特殊字符的文件带上的输入字符串,除了实际的字母(甚至西里尔字母不应该被剥夺)。我找到的解决方案手动将该字符串声明为unicode并使用re.UNICODE
标志将模式声明为检测到来自不同语言的实际字母。
# -*- coding: utf-8 -*-
import re
pattern = re.compile("[^\w\d]",re.UNICODE)
n_uni = 'ähm whatßs äüöp ×äØü'
uni = u'ähm whatßs äüöp ×äØü'
words = pattern.split(n_uni) #doesn't work
u_words = pattern.split(uni) #works
所以,如果我直接写字符串中的源并手动将其定义为Unicode它给了我所期望的输出,同时非Unicode字符串给我只是垃圾:
"ähm whatßs äüöp äØü" -> unicode
"hm what s ü p ü" -> non-unicode even with some invalid characters
我的问题是现在如何将文件中的输入定义为Unicode?
说真的。在Google上搜索“python read unicode file”会为您提供相关文档作为第一次打击。和重复的StackOverflow问题打#2。 – Tomalak