Por que o Python fornece "OSError: [erro 36] nome do arquivo muito longo" para um nome de arquivo menor que o limite do sistema de arquivos?

O código a seguir gera uma exceção inesperada:

open("52bbe674cdc81d4140099b84fa69eea4249bcceee75bcbe4838d911ab076547cfdad3c1c5197752a98e5525fe76613dbe52dcdb1a9a397669babce0f101d010142cffa000000.csv", "w")
OSError: [Errno 36] File name too long: '52bbe674cdc81d4140099b84fa69eea4249bcceee75bcbe4838d911ab076547cfdad3c1c5197752a98e5525fe76613dbe52dcdb1a9a397669babce0f101d010142cffa000000.csv'

Isso é inesperado porque meu sistema de arquivos é ext4, que (de acordo com a Wikipedia) possui um limite de 255 bytes de nome de arquivo. O nome do arquivo acima tem um comprimento de 144.

Então, por que o Python gera essa exceção quando o limite de tamanho do nome do arquivo não foi realmente excedido?

questionAnswers(1)

yourAnswerToTheQuestion