не могу получить размер файла в python

Я новичок в Python и учусь на книге «Автоматизировать скучные вещи», поэтому в книге говорится, что я могу использовать os.path.getsize(path) для получения размера файла, но когда я запускаю этот код, он выдает ошибку, может пожалуйста, объясните, почему я получаю это?

import os

mypath = 'C:\\Users\\C2D\\Desktop\\Embedded system\\u1.PNG'
os.chdir(mypath)
print(os.path.getsize(mypath))

ошибка: NotADirectoryError: [WinError 267] Недопустимое имя каталога: «C:\Users\C2D\Desktop\Embedded system\u1.PNG»

Я работаю над Windows 8.1 и использую python3.8 на pycharm.


person mr.Arrow    schedule 06.04.2020    source источник
comment
Ошибка происходит в os.chdir(). u1.PNG — это файл, аргумент os.chdir() должен быть каталогом.   -  person Barmar    schedule 07.04.2020
comment
Разве трассировка ошибки не сказала вам об этом? Почему вы решили, что проблема заключается в том, чтобы получить размер?   -  person Barmar    schedule 07.04.2020


Ответы (2)


Ошибка из-за строки os.chdir(mypath). Вам не нужно chdir().

Предполагая, что путь правильный и файл существует, он должен работать (распечатать размер файла), если вы удалите оператор os.chdir().

person Rusty Widebottom    schedule 06.04.2020

mypath — это файл, а не папка. Командой os.chdir(mypath) пытаетесь изменить папку - на образ.

Вообще очень важно, в какой именно строке возникает исключение. В данном случае это будет строка 4.

Чтобы решить вашу проблему: вы, вероятно, можете просто удалить эту строку.

person Lydia van Dyke    schedule 06.04.2020