Возможно ли, что имя файла на самом деле не "data.txt"?
В Unix имена файлов на самом деле являются байтовыми строками, а не символьными строками, и можно создавать файлы с такими элементами управления, как backspace в своих именах. В прошлом я встречал случаи, когда при вставке копий в терминалы появлялись файлы с обычными именами, но при попытке открыть имя файла, которое появляется в списке каталогов, возникает ошибка.
Один из способов точно сказать, что имена файлов действительно такие, какими вы думаете:
$ python
>>> import os
>>> os.listdir('.')