# Python, how to get the details of a file

> Learn how to get the details of a file in Python with the os module, using os.path.getsize() for the size or os.stat() to read its size and modified date.

Author: [Flavio Copes](https://flaviocopes.com/about/) | Published: 2021-01-24 | Topics: [Python](https://flaviocopes.com/tags/python/) | Canonical: https://flaviocopes.com/python-get-file-details/

Given the path to a file, you can get more information about it using several method provided by the `os` module:

- `os.path.getsize()` returns the size of the file
- `os.path.getmtime()` returns the file last modified date
- `os.path.getctime()` returns the file creation date (equals to last modified date in Unix systems like macOS)

Here is an example:

```python
import os

filename = '/Users/flavio/test.txt'

print(os.path.getsize(filename))
print(os.path.getmtime(filename))
print(os.path.getctime(filename))
```

`os.stat()` returns all the information you need in a concise way:

```python
import os

filename = '/Users/flavio/test.txt'

print(os.stat(filename))
```

It returns a `os.stat_result` object:

```
os.stat_result(st_mode=33252, st_ino=34409711, st_dev=16777224, st_nlink=1, st_uid=501, st_gid=20, st_size=189, st_atime=1605428774, st_mtime=1605428773, st_ctime=1605428773)
```

We have a lot of information here, including:

- `st_mode` the file type and permissions
- `st_ino` the inode number
- `st_dev` the device id
- `st_uid` the file owner id
- `st_gid` the file group id
- `st_size` the file size

and you can reach for individual properties:

```python
import os

filename = '/Users/flavio/test.txt'

stats = os.stat(filename)

print(stats.st_size)
print(stats.st_mtime)
```
