Obtenga el tamaño del archivo con os.path.getsize () en Python 2.7.5

Soy nuevo en Python. Estoy tratando de usar os.path.getsize () para obtener el tamaño del archivo. Sin embargo, si el nombre del archivo no está en inglés, sino en chino, francés o francés, etc., Python no puede reconocerlo y no devuelve el tamaño del archivo. ¿Podrías ayudarme, por favor? ¿Cómo puedo permitir que Python reconozca el nombre del archivo y devuelva el tamaño de este tipo de archivos?

Por ejemplo: el nombre del archivo es: Показатели естественного и миграционного прироста до 2030г.doc

path = “C: \ xxxx \ xxx \ xxxx \ Показатели естественного и миграционного прироста до 2030г.doc”

Me gustaría usar “os.path.getsize (ruta)

Pero no reconoce el nombre del archivo. ¿Podría por favor amablemente decirme qué debo hacer?

¡Muchas gracias!

Use los nombres de archivo de Unicode y deje que Python codifique los puntos de código a la encoding correcta para su sistema.

Alternativamente, detecte la encoding del sistema de archivos y asegúrese de que sus nombres de archivo estén utilizando esa encoding específica cuando los pase a la función os.path.getsize() .

Si aún no sabe qué es Unicode, o cómo se relaciona con las codificaciones, le insto a que lea:

  • El Absoluto Mínimo que todos los desarrolladores de software absolutamente, positivamente deben saber sobre Unicode y conjuntos de caracteres (¡sin excusas!) Por Joel Spolsky

  • El CÓMO de Python Unicode

  • Unicode pragmático de Ned Batchelder

antes de continuar

Si está especificando una cadena literal en su código fuente, debe asegurarse de haber especificado el códec utilizado para guardar su fuente y usar un literal de Unicode:

 # -*- coding: utf-8 -*- path = u"C:\xxxx\xxx\xxxx\Показатели естественного и миграционного прироста до 2030г.doc" 

especifica que guardó su código fuente en UTF-8 y que la variable de path debe contener una cadena Unicode (tenga en cuenta el literal de cadena u'' ).

Puedes resolver tu problema con este código:

 import codecs path="C:\xxxx\xxx\xxxx\Показатели естественного и миграционного прироста до 2030г.doc" path=codecs.decode(path,'utf8') os.path.getsize(path)