Вы можете сделать это и на Python таким же образом.
lines1 = [ line.rstrip() for line in open("file1") ]
lines2 = [ line.rstrip() for line in open("file2") ]
for i in xrange((len(lines1))): print lines1[i] + " ||| " + lines2[i]
...
1Mo 1,1 I love you. ||| 1Mo 1,1 Ich liebe dich.
1Mo 1,2 I like you. ||| 1Mo 1,2 Ich mag dich.
Hi 1,3 I am hungry. ||| Hi 1,3 Ich habe Durst.
Hi 1,4 I am foolish. ||| Hi 1,4 Ich bin neu.
Short :Нет. Нельзя полагаться на имя дескриптора. И вы, скорее всего, никогда не будете.
Стандарт именования NVMe описывает:
Таким образом, общее название зависит от вашей физической компоновки. И это может измениться в зависимости от вашего варианта использования путем добавления/удаления блочных устройств, сбоев дисков и т. д.
В основном то же самое, что и с дескрипторами sd _.
На что вы можете положиться, так это на порядок перечисленных разделов для каждого устройства,поскольку они сохраняются и считываются из таблицы разделов блочного устройства. Пока вы не измените расположение разделов, порядок останется прежним.
В конце концов, обращение либо к UUID устройства, либо к PARTUUID по-прежнему является лучшей практикой, даже с NVMe. В зависимости от варианта использования ссылка на LABEL может быть более удобной.