Правильный способ сделать это - сделать расположение текстового файла настраиваемым значением, которое будет установлено при установке вашего проекта. Использование файла конфигурации в / etc / является распространенным способом хранения этого значения.
Таким образом, вы можете поместить текстовый файл, например, в. / usr / share / со всеми машинно-независимыми файлами (этот файл данных является машинно-независимым, верно?), и ваш код будет "знать", где его найти.
Обратите внимание, что если файл данных будет изменен как часть операции вашего кода, то его, вероятно, следует поместить где-нибудь в / var (/ var / lib или, возможно, / var / cache) в соответствии со стандартом иерархии файловой системы ( FHS) и большинство других стандартов файловой системы Unix.
Если файл данных можно считать файлом конфигурации, как вы упомянули в одном из ваших комментариев, вы можете просто жестко закодировать его путь где-нибудь в / etc / (например, /etc/MyProject/data.cfg) и перейти на.