我有關於編碼似乎非常相似,這裏的其他問題有問題,但不完全一樣的,我不知道這整個事情了。錯誤的UTF-8字符書寫時到文件(蟒蛇)
我以爲我已經掌握了編碼的概念,但是我有這些特殊字符(æ,ø,å,ö等),打印時看起來不錯,但不能寫入文件。 (如æ隨着我寫文件)
我的代碼如下:
def sortWords(subject, articles, stopWordsFile):
stopWords = []
f = open(stopWordsFile)
for lines in f:
stopWords.append(lines.split(None, 1)[0].lower())
for x in range(0,len(articles)):
f = open(articles[x], 'r')
article = f.read().lower()
article = re.sub("[^a-zA-Z\æøåÆØÅöÖüÜ\ ]+", " ", article)
article = [word for word in article.split() if word not in stopWords]
print ' '.join(article)
w = codecs.open(subject+str(x)+'.txt', 'w+')
w.write(' '.join(article))
sortWords("hpv", ["vaccine_texts/hpv1.txt"], "stopwords.txt")
我曾與各種編碼試過,用codecs.open(文件,R打開文件時,「UTF -8'),但無濟於事。我在這裏錯過了什麼?
我在Ubuntu(從Windows切換,因爲它的終端不會正確輸出)
http://stackoverflow.com/questions/6048085/python-write-unicode-text-to-a-text-file –
@JoeDoherty我見過這個人,我不能用'.encode(「utf-8」)'時我寫,因爲它給我一個錯誤。無論我用它打開文件顯示奇怪的符號(崇高,gedit,vim,記事本)。爲什麼會發生? – LaughingMan
似乎有一個我打開的文件的編碼有問題。我嘗試了兩個獨立的文件,其中一個完美工作。我試圖將該文件的內容複製並粘貼到一個新的文本文件中,然後運行。奇怪 – LaughingMan