목록의 마지막 문자열 즉 라이브러리 이름 ('\'로 구분)을 제거하고 싶습니다. 내가 가지고있는 텍스트 문자열은 컴파일시에 사용 된 라이브러리의 경로를 포함합니다. 이 라이브러리는 공백으로 구분됩니다. 나는 각 경로를 유지하고 싶지만 라이브러리 이름까지 가지 않고 그 앞에 하나의 루트 만 남기고 싶다.내 목록에서 마지막으로 구분 된 항목 제외
예 :
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]
split() 함수를 사용하여 결과를 얻고 있지만 경로에서 라이브러리 이름을 버리려고합니다.
어떤 도움을 주시면 감사하겠습니다.
와 시도는'''os.path.dirname()''' – wnnmaw
을 조금 더 간단합니다. –
실제로 데이터베이스에서 경로를 읽고 런타임에 가져 오지 못합니다. 그래서 나는 작업 할 텍스트 문자열 만 가지고 있습니다. – kay