Contar palabras en una cadena (versión de actualización)

Temas requisitos:

leer estas cadenas en un archivo de texto y generar un resumen.

 

Importación OS
 DEF count_words (archivo):
     try : 
        F = Open (Archivo, ' R ^ ' , encoding = ' UTF-8. ' )
     La excepción IOError AS S:
         impresión (S)
         de retorno Ninguno
     # el intento, la excepción de la declaración: Se utiliza para excepción de captura, Proveedores: tratar de ejecución de código, excepto: tratamiento de errores 
    de la prueba : 
        Buffer = f.read ()
     la excepción :
         Imprimir ( ' ! error de lectura del archivo ' )
         de retorno Ninguno 
    (ruta de archivo, nombre de archivo) =os.path.split (Archivo)
     # función de uso módulo os path.split para obtener el nombre de ruta del archivo de entrada y el nombre del archivo 
    f.close () 
    Buffer = buffer.lower ()
     # reemplazan todo en minúsculas, para que no se siga el nuevo caso diferentes de procesamiento de carácter 
    palabras = buffer.split ( '  ' )
     # pulse el texto espacio dividido por la palabra Inglés, no se sabe cómo dividir una palabra fue una palabra de caracteres chinos se divide 
    Counts = {}
     # (), [], {} representan tuplas, listas, diccionarios, no se crea un vacío resultados del diccionario recibidas después el contador de bucles 
    sumcount = 0
     para Palabra en palabras: 
        Counts [Word] = counts.get (Word, 0) + 1. 
        sumcount = sumcount 1 +.
     # contador de bucle : 
    # dict.get (Key, por defecto = None)
    # Key - clave para el diccionario de encontrar. 
    # Defecto - si la clave no existe, devolver el valor predeterminado. 
    # Cuando la palabra no está en las palabras, el valor de retorno es 0, cuando las palabras en una palabra, y 1, acumulando con ello el recuento. 
    = artículos lista (counts.items ()) 
    la Items.Sort (Clave = lambda X: [. 1] X, Reverse = True)
     # El diccionario ordenados por el valor de valor 
    FileResult = abierto (el os.path.join (ruta de archivo, " la Result.txt " ), ' W ' )
     # debajo de la ruta del archivo de entrada, crear un nuevo archivo de resultados, que tiene la propiedad se puede escribir 
    para que en el rango (5. ): 
        Word, COUNT = artículos [I] 
        FileResult. Write (Word) 
        #f.write sólo puede pasar un valor, no hay una redacción más concisa de la misma? Comentarios bienvenidos 
        fileresult.write ( ' \ n- el ' ) 
        fileresult.write (str (COUNT)) 
        fileresult.write ( ' \ n- el ' ) 


# llamada a la función: 
count_words ( " C: \\ cccc los usuarios \\ \\ \\ Escritorio Hamlet .txt " )

El archivo original es:

Ah, dicen personas vienen dicen que la gente va
Este diamante en particular fue muy especial
y aunque es posible que se han ido y el mundo no puede saber
todavía lo ven celestes
cuando debería pero no puedo dejarte ir
Pero cuando estoy frío frío
Cuando Tengo frío frío
Hay una luz que me das cuando estoy en la sombra
Hay un sentimiento dentro de mí una EverGlow
como hermanos en hermanas de sangre que viajan
Y juré en esa noche seríamos amigos 'hasta que morimos
Pero el cambio de los vientos y la forma en que las aguas fluyen
vida es corta como la caída de nieve
y ahora soy yo sé que va a perder
Pero cuando estoy frío frío
en agua salada laminado
te conozco'volver con conmigo y la forma en que se mostrará
Y estás conmigo donde quiera que vaya
y me da este sentimiento esta EverGlow
Oh, qué no daría yo por un momento para mantener
robaba yo vivo para esta sintiendo este EverGlow
Así que si quieres a alguien que debe hacerles saber
Oh la luz que usted me brinde EverGlow

 

Los resultados son los siguientes:

que
10
i
7
del
6
Me
6
soy
5

Supongo que te gusta

Origin www.cnblogs.com/YlnChen/p/12586607.html
Recomendado
Clasificación