国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

python3.x - Cara menggunakan maketrans dalam python dalam fail utf-8
過(guò)去多啦不再A夢(mèng)
過(guò)去多啦不再A夢(mèng) 2017-05-18 10:58:56
0
1
882

Saya menulis fail untuk memproses teks, iaitu menggantikan semua simbol dalam teks dengan ruang. Gunakan maketrans dan terjemah dalam python. Ia adalah perkara biasa apabila menggunakan fail berkod ASCII, tetapi apabila menggunakan fail UTF-8, ralat dilaporkan, menunjukkan bahawa parameter dalam maketrans tidak sama panjang, tetapi jelas panjangnya sama:

Fail "/Users/lgq/Desktop/p3.py", baris 10, dalam text_to_words

"abcdefghijklmnopqrstuvwxyz                                                   ") 

ValueError: dua argumen maketrans pertama mesti mempunyai panjang yang sama

Saya telah menyemak dan ia mengatakan bahawa maketrans tidak boleh digunakan di bawah utf-8 Jadi bagaimana saya harus menggantikan aksara di bawah utf-8. Tolong beri saya nasihat.

def text_to_words(the_text):
    """ 
        Return a list of words with all punctuation removed,
        and all in lowercase.
    """
    my_substitutions = the_text.maketrans(
        # If you find any of these
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%&()*+,-./:;<=>?@[]^_`{|}~'\",
        # Replace them by these
        "abcdefghijklmnopqrstuvwxyz                                            ")
    # Translate the text now.
    cleaned_text = the_text.translate(my_substitutions)
    wds = cleaned_text.split()
    return wds


def get_words_in_book(filename):
    """ Read a book from filename, and return a list of its words."""
    f = open(filename, "r", encoding = "utf-8")
    content = f.read()
    f.close()
    wds = text_to_words(content)
    return wds


book_words = get_words_in_book("alice.txt")
print("There are {0} words in the book, the first 100 are\n{1}".
        format(len(book_words), book_words[:100]))
過(guò)去多啦不再A夢(mèng)
過(guò)去多啦不再A夢(mèng)

membalas semua(1)
滿天的星座

Pertama sekali, panjang kedua-dua rentetan ini tidak sama " ialah aksara dan \ juga merupakan aksara
Anda boleh menggunakan len. () Semak
Bagi soalan rentetan, adalah lebih baik untuk menunjukkan versi python" 是一個(gè)字符, \ 也是一個(gè)字符
你可以用 len() 查看。
然后關(guān)于字符串什么的問(wèn)題,最好說(shuō)明 python 的版本

maketrans

maketrans panjang parameter tidak sama

 my_substitutions = the_text.maketrans(
        # If you find any of these
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%&()*+,-./:;<=>?@[]^_`{|}~'\",
        # Replace them by these
        "abcdefghijklmnopqrstuvwxyz                                            ")
Kod ujian:

from string import translate, maketrans

def text_to_words(the_text):
    """ 
        Return a list of words with all punctuation removed,
        and all in lowercase.
    """
    my_substitutions = maketrans(
        # If you find any of these
        "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%&()*+,-./:;<=>?@[]^_`{|}~'\",
        # Replace them by these
        "abcdefghijklmnopqrstuvwxyz                                          ")
    # Translate the text now.
    cleaned_text = the_text.translate(my_substitutions)
    wds = cleaned_text.split()
    return wds

text_to_words('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!\"#$%&()*+,-./:;<=>?@[]^_`{|}~\'\測(cè)試')
keluaran

['abcdefghijklmnopqrstuvwxyz', '\xe6\xb5\x8b\xe8\xaf\x95']
Ini adalah hasil daripada menjalankan python2??
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan