Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

File too Large python

I am writing to a file using python. The script suddenly stops running and throws an 'IOError: [Errno 27] File too large' Is there a limit on the size of the file that you are allowed to create using a program? Has anyone else faced this issue? The file size was close to 4.3Gb(it is a bit big) when it stopped.

like image 490
viper Avatar asked Jun 08 '12 21:06

viper


People also ask

How do I load a large file in Python?

Reading Large Text Files in Python We can use the file object as an iterator. The iterator will return each line one by one, which can be processed. This will not read the whole file into memory and it's suitable to read large files in Python.

How do I limit the size of a file in Python?

if len(data_to_write) + tell > 1024*1024*1024: will suffice.

What is the size of a file in Python?

Example 1: Using os module Using stat() from the os module, you can get the details of a file. Use the st_size attribute of stat() method to get the file size. The unit of the file size is byte .


3 Answers

This Python bug report indicates that the OS is the source of this error message, not Python.

Since you are writing to a FAT partition, and the maximum file size limit is 4GB for FAT 32 (LinuxFilesystemsExplained) this is most likely the cause of your problem. Running your program on a system or partition with a different file system would tell you for sure.

like image 73
Levon Avatar answered Sep 21 '22 20:09

Levon


I also got this error when I had too many files in one directory. I had 64435 files in a directory, each with 10 digits + '.json' in their names, and any subsequent attempts to write new files to the directory threw errors (e.g.) OSError: [Errno 27] File too large: 'ngrams/0/0/0/0000029503.json'

like image 36
duhaime Avatar answered Sep 22 '22 20:09

duhaime


When files get too large, addressing becomes an issue. Typically you get 32 bits which translates to a maximum size of about 4 gb.

like image 22
tskuzzy Avatar answered Sep 21 '22 20:09

tskuzzy