2013-08-07 3 views
1

파일을 추출하고 경로를 db에 추가하기 전에 미디어 파일이 포함 된 zip 파일이 있습니다. 압축을 풀고 압축을 풀어야합니다. 우편에서경로 목록에서 특정 디렉토리 이름을 제거하는 방법

경로 목록은 내가 1 개의 디렉토리의 경로를 제거하고이

/images/2012/03/image.jpg 
/images/2012/03/any-image.jpg 

을 얻고

지금까지 내가 가지고있는 각각의 경로에 "http://my-cdn-path.com/"에 가입 할

/no-fixed-name/no-fixed-name/images/2012/03/image.jpg 
/no-fixed-name/no-fixed-name/images/2012/03/any-image.jpg 
/no-fixed-name/no-fixed-name/videos/2012/03/video.mp4 

포함 이 일을 끝내지 만 그것을 뺄 수는 없습니다.

import os 
import zipfile 
import fnmatch 

zf = zipfile.ZipFile('samplezip.zip','r') 

a = zf.namelist() 
search = '*.png' 
searchresult = fnmatch.filter(a, search) 


for i in searchresult: 
    yo = os.path.abspath(i).split(os.sep)[2] 
    #This way I can get the dir name that I want to remove but not sure how to do that. 

답변

2

당신이 (가) 다음 (문자열로 경로 치료) 할 수 있습니다 join`가 추가되지 않습니다 '것을

'http://my-cdn-path.com/' + '/'.join(os.path.abspath(i).split(os.sep)[-4:]) 
+1

참고 :을 os.path를 사용하여,

'http://my-cdn-path.com/' + '/'.join(i.split('/')[-4:])) 

또는 문자열의 시작 부분을 슬래시로 처리하므로 기본 URL은 슬래시로 끝나야합니다. – knbk

+0

변경되었습니다. 감사! – FMcC

+0

고마워, 완벽하게 작동합니다. 이제 나는 파이썬이 매달려있다. –

관련 문제