In this article, we will discuss different ways to check if a file is empty i.e. its size is 0 using os.stat() or os.path.getsize() or by reading its first character.

Check if a file is empty using os.stat() in Python

Python provides a function to get the statistics about the file,

It accepts file path (string) as an argument and returns an object of the structure stat, which contains various attributes about the file at the given path. One of these attributes is st_size, which tells about the size of the file in bytes.

Let’s use this to get the size of the file ‘mysample.txt’ and if size is 0 then it means, file is empty i.e.

As our file is empty, so the output will be,

P.S. We already had an empty file ‘mysample.txt’ in the same directory.

But we should be careful while using it because if the file doesn’t exist at the given path, then it can raise an Error i.e. FileNotFoundError,

Therefore we should first check if the file exists or not before calling os.stat(). So, let’s create a separate function to check if file exists and it is empty i.e.

This function first confirms if the file exists or not, if yes then it checks if its size is 0 or not (if file is empty).
Let’s use this function to check if file ‘mysample.txt’ is empty,

Output:

It confirms that file ‘mysample.txt‘ is empty.

Check if file is empty using os.path.getsize() in Python

In Python os module provides another function i.e.

It accepts the file path (a string) as an argument and returns the size of the file in bytes. If the file doesn’t exist and the given path then it raises os.error.

Let’s use this to get the size of file ‘mysample.txt‘ and if the size is 0 then it means, file is empty i.e.

As our file is empty, so the output will be,

If the file doesn’t exist at the given path, then it can raise an Error i.e. FileNotFoundError,

Therefore, we should first check if the file exists or not. If file exist then only call os.path.getsize(). We have created a function which checks if file exists or not and if it exists then check if its empty or not,

Let’s use this function to check if file ‘mysample.txt’ is empty,

Output:

It confirms that file ‘mysample.txt‘ is empty.

Check if the file is empty by reading its first character in Python

In this function, it opens the file at the given path in read-only mode, then tries to read the first character in the file.
If it is not able to read the first character then it means the file is empty else not.

Let’s use this function to check if file ‘mysample.txt’ is empty,

Output:

It confirms that file ‘mysample.txt’ is empty.

The complete example is as follows,

Output:

Python Recommendations:

C++ & C++11 Recommendations:

If you didn't find what you were looking, then do suggest us in the comments below. We will be more than happy to add that.

Do Subscribe with us for more Articles / Tutorials like this,