我想刪除列表中的最後一個字符串,即庫名稱(用'\'分隔)。我擁有的文本字符串包含編譯時使用的庫的路徑。這些庫由空格分隔。我希望保留每個路徑,但不要直到庫名稱,只有一個根目錄。從列表中排除最後一個分隔的項目
例子:
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