2016-02-09 50 views
0

我在寫一個函數,它用字符§改變字符串中的所有空格,然後用空格分隔字符串中的所有字符。 我寫了一個類似的功能如下:Python編碼空間字符

def createList(text): 
sentence = "" 
for char in text: 
    if char == " ": 
     sentence = sentence + "§ " 
    else: 
     sentence = sentence + char 
myFile = open("ahoi.txt", "w") 
myFile.write(sentence) 
myFile.close() 
return sentence 

這裏的問題是我的輸入不是Unicode,所以我不會改變我的輸入編碼並做處理。然後當我嘗試添加如下空格時:

def createList(text): 
sentence = "" 
for char in text: 
    if char == " ": 
     sentence = sentence + "§ " 
    else: 
     sentence = sentence + char + " " 
myFile = open("ahoi.txt", "w") 
myFile.write(sentence) 
myFile.close() 
return sentence 

所有字符都被打破。我的輸入包括一些字符,如ş,ı,ü,ö。所以我不能失去他們。我應該做什麼樣的編碼和解碼?我嘗試了很多解決方案,但都沒有工作。

下面是一個示例輸入:

一個= 「」「Bunlarısöylediktensonra,şilteninaltından井mektupçıkardı Ancak,BUkırlangıçlarCOKküçüktürler已經ö遊客hızlıuçarlarKI,şelaleyi井OK吉比keserek ARKAtarafına。 geçebilirler。 Şuracıkta,seninyanındayatıveririmben。「 Yardımetmek isterdim,ama burnumu sokmasam daha iyi olur。 İşininilkgünündebiröğrencininağıryaralanmasının,sonra da kendi dispanserindeölmesininbeklenilmezliğiuykuda gezmesi sonucunudoğurmuşolmalıydı。 Önündeejderhalardan daha beter birşeyolamazdı,değilmi? 。 Sorusunun井nedeniolmalı,DIYEdüşünüyordu 「」」

回答

0

我不知道這是否是你想要的

# -*- coding: utf-8 -*- 

def createList(text): 
    sentence = "" 
    for char in text: 
     if char == " ": 
      sentence = sentence + u"§ " 
     else: 
      sentence = sentence + char + " " 
    myFile = open("ahoi.txt", "w") 
    myFile.write(sentence.encode("utf-8")) 
    myFile.close() 
    return sentence 


a = u"""Bunları söyledikten sonra, şiltenin altından bir mektup çıkardı. Ancak, bu kırlangıçlar çok küçüktürler ve o kadar hızlı uçarlar ki, şelaleyi bir ok gibi keserek arka tarafına geçebilirler. Şuracıkta, senin yanında yatıveririm ben." Yardım etmek isterdim, ama burnumu sokmasam daha iyi olur. İşinin ilk gününde bir öğrencinin ağır yaralanmasının, sonra da kendi dispanserinde ölmesinin beklenilmezliği uykuda gezmesi sonucunu doğurmuş olmalıydı. Önünde ejderhalardan daha beter bir şey olamazdı, değil mi? Sorusunun bir nedeni olmalı, diye düşünüyordu.""" 

print createList(a) 

輸出:

B u n l a r ı § s ö y l e d i k t e n § s o n r a , § ş i l t e n i n § a l t ı n d a n § b i r § m e k t u p § ç ı k a r d ı . § A n c a k , § b u § k ı r l a n g ı ç l a r § ç o k § k ü ç ü k t ü r l e r § v e § o § k a d a r § h ı z l ı § u ç a r l a r § k i , § ş e l a l e y i § b i r § o k § g i b i § k e s e r e k § a r k a § t a r a f ı n a § g e ç e b i l i r l e r . § Ş u r a c ı k t a , § s e n i n § y a n ı n d a § y a t ı v e r i r i m § b e n . " § Y a r d ı m § e t m e k § i s t e r d i m , § a m a § b u r n u m u § s o k m a s a m § d a h a § i y i § o l u r . § İ ş i n i n § i l k § g ü n ü n d e § b i r § ö ğ r e n c i n i n § a ğ ı r § y a r a l a n m a s ı n ı n , § s o n r a § d a § k e n d i § d i s p a n s e r i n d e § ö l m e s i n i n § b e k l e n i l m e z l i ğ i § u y k u d a § g e z m e s i § s o n u c u n u § d o ğ u r m u ş § o l m a l ı y d ı . § Ö n ü n d e § e j d e r h a l a r d a n § d a h a § b e t e r § b i r § ş e y § o l a m a z d ı , § d e ğ i l § m i ? § S o r u s u n u n § b i r § n e d e n i § o l m a l ı , § d i y e § d ü ş ü n ü y o r d u .