Я хочу удалить последнюю строку в списке, то есть имя библиотеки (с разделителем «\»). Текстовая строка, которая у меня есть, содержит путь библиотек, используемых во время компиляции. Эти библиотеки разделены пробелами. Я хочу сохранить каждый путь, но не до имени библиотеки, только один корень перед ним.Исключить последний элемент из моего списка
Пример:
text = " /opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4/crtbeginT.o /opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4/crtfastmath.o /opt/cray/cce/8.2.5/craylibs/x86-64/no_mmap.o /opt/cray/cce/8.2.5/craylibs/x86-64/libcraymath.a /opt/cray/cce/8.2.5/craylibs/x86-64/libcraymp.a /opt/cray/atp/1.7.1/lib/libAtpSigHandler.a /opt/cray/atp/1.7.1/lib/libAtpSigHCommData.a "
Я хочу, чтобы мой выход, чтобы быть похожим -
Output_list =
[/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4,
/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/atp/1.7.1/lib,
/opt/cray/atp/1.7.1/lib]
и, наконец, я хочу, чтобы удалить дубликаты в output_list так, что список выглядит.
New_output_list =
[/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4,
/opt/cray/cce/8.2.5/craylibs/x86-64,
/opt/cray/atp/1.7.1/lib]
Я получаю результаты, используя функцию разделения(), но я изо всех сил, чтобы сбросить имена библиотек с пути.
любая помощь будет оценена.
Я думаю, что '' 'os.path.dirname()' '' быть немного проще – wnnmaw
@wnnmaw Вы правильно, отредактированы. –
На самом деле я читаю путь из базы данных и не получаю его во время выполнения. Поэтому у меня есть только текстовая строка. – kay