2011-09-13 3 views
-1

현재 디렉토리에 .zip 폴더가 있습니다. 어떻게하면 파이썬이 .zip 폴더에있는 "내용"파일을 읽도록 지시 할 수 있습니까? 컨텐츠 파일에는 zip 아카이브에있는 모든 파일의 이름이 있습니다.Python 읽기 파일 모듈

기본적으로 파이썬이 내용 파일을 읽고 "프로그램 로고"와 같은 특정 항목을 찾고 "프로그램 로고"에 해당하는 값을 메모리에 기록합니다.

예를 들어, python은 내용 파일을 쿼리하고 "프로그램 로고"라는 단어에 도달 할 때까지 중지해야합니다. 프로그램 로고에 123-123-23과 같은 값을 지정했습니다. 파이썬이 그 값을 변수에 기록하도록 어떻게 말할 수 있습니까? 파이썬에서 파일 읽기 모듈을 사용해야합니까?

+0

당신의 질문은 이해할 수 없습니다. "파일 읽기"모듈이란 무엇입니까? "프로그램 로고"에 어떤 가치를 부여 했습니까? "contents"파일에? zip 파일에있는 파일의 데이터를 의미합니까? 더 명확하게 편집하십시오. – agf

답변

1

Zip 파일은 폴더가 아니며 아카이브입니다. 파일이므로 다른 파일과 마찬가지로 읽기 용으로 열어야합니다.

zipfile 모듈을 찾아야합니다. 당신은 실제로 다음 우편에서 "내용"라는 파일

with ZipFile('myzipfile.zip', 'r') as z: 
    f=z.open("contents",'r') 
    for line in f.readlines(): 
    if line.startswith("program logo"): 
     # do something with line... 

이 있다면 나는 이것이 당신이 원하는 무엇 확실하지 않다, 그러나 당신이 어떻게 .ZIP 아카이브 내부를 들여다 보여줍니다.

PS 어떤 OS를 사용하고 있으며 ".zip"이 폴더라고 생각하게 만들었습니까? 이 "내용"파일을 어떻게 보십니까? "내용"파일을 어떻게 만들었습니까? 텍스트 파일입니까? 특히 관련 라인 ("프로그램 로고"포함)은 어떻게 생겼습니까? 이 정보가 없으면 우리는 그 질문에 답할 수 없습니다!

+0

나는 창문 위에있다. zip 파일은 Manifest.plist입니다. zip에있는 각 파일의 이름과 숫자 키 값을 보유합니다. 세 이하, SupportedProductTypes \t \t \t iPhone3,1 이 PLIST의 정보를 기반으로하는 파이썬 말해이 : 내가하고 싶은 것은 PLIST의이 부분에 대한 manifest.plist 파이썬 스캔을 가지고있다 이 제품은 iPhone 4입니다. – user715578

+0

좋아요. 'f = z.open ('Manifest.plist ','r ')'및' SupportedProductTypes '을 줄 경우''사용하십시오. 숫자를 추출하려면 다음과 같이 사용하십시오 :'m = re.search (r ' 지원되는 제품 유형 \ s * ([^ <] *)', 줄)'then'm : return float (m [ 0])'. 그러나 이것이 이상적으로 XML이기 때문에'xmllib'와 같은 XML 라이브러리를 사용해야합니다. –