我想删除列表中的最后一个字符串,即库名称(用'\'分隔)。我拥有的文本字符串包含编译时使用的库的路径。这些库由空格分隔。我希望保留每个路径,但不要直到库名称,只有一个根目录。从列表中排除最后一个分隔的项目
例子:
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