2012-06-14 4 views
1

현재 파이썬 파일 get.py을 포함하는/source라는 패키지를 지정하고 다음 주소로 데이터 을 인터넷에서 가져 와서 저장되는 일련의 텍스트 파일을 생성하는 다음 체계가 있습니다. 데이터 구조라는 디렉토리/TXT 반환 데이터Python Package Subdirectory 추상화

final.py 중 하나를 수행 할 수 있습니다에 저장된 텍스트 파일의 내용을 반환하는 get.py하는

1) 가져 오기 소스, 그리고 전화를 걸 데이터 구조. get.py()는 데이터 구조체의 내용을 /text/*.txt에 씁니다.

2) get.py를 호출하지 않고 /source/text/data.txt를 검색합니다. 이 잘 좋은 반면 정보 (오프라인 모드)

final.py 
/source 
    __init__.py 
    get.py #returns a data structure and writes to /text/data.txt 
     /text 
      data.txt 
      data1.txt 
      data2.txt 

을 get.py에 대한 이전 호출에서, 나는 주로 내가, 내가 몇 가지 중요한 추상화 규칙을 위반하고 도움이되지만 생각할 수 없다 소스 패키지를 가져올 필요없이 /source/text/data.txt를 검색 할 수 있습니다. 이 경우 패키지를 으로 초기화 .py로 작성하는 이유는 무엇입니까? 위 스키마가있는 Python 패키지를 어떻게 구성해야합니까?

답변

0

주요 '위반'은 데이터가 현재 코드와 동일한 디렉토리에 있다는 것입니다. 이것들은 섞여서는 안됩니다. 응용 프로그램은 데이터를 다른 위치 (구성 디렉토리 또는 그 목적으로 지정된 디렉토리에)에 저장해야합니다. 다음과 같이

나는 그것을 구성하는 것이 좋습니다 :

final.py 
/source 
    __init__.py 
    get.py 
/text 
    data.txt 
    data1.txt 
    data2.txt 

이제 (아마도 매개 변수) final.py을 실행하여 모든 작업을 수행 할 수 있습니다 다음 소스 또는 데이터를 가져 와서는 할 필요가 무엇을 할 수있다.

+0

예, 'get.py'가 어디에서 쓸 것인지 알고 디렉토리가 쓰기 가능한 한 작성할 수 있습니다. 'get.py'에 대한 상대 경로 대신 전체 경로를 지정해야하지만 괜찮습니다. –