2009-07-11 6 views
3

Google지도 API 비밀 키를 사용하는 작은 Python 프로그램이 있습니다. 체크인 할 준비가되었습니다. SVN에 비밀 키를 포함하고 싶지 않습니다.비밀 키와 암호를 파이썬에 저장할 위치

표준 PHP 응용 프로그램에서 비밀 키, 데이터베이스 암호 및 기타 응용 프로그램 특정 구성을 LocalSettings.php에 넣습니다. 파이썬 프로그래머가 찾고 수정할 수있는 유사한 파일/위치가 있습니까?

+0

감사 인 Vinay을. 나는 execfile (os.environment [ 'HOME'], '.appname'))에서 작동하도록했다. execfile 메소드에 대해 S.Lott에게 감사드립니다. 대답은 – brianegge

답변

3

아니요, 표준 위치가 없습니다. Windows에서는 대개 os.path.join(os.environ['APPDATA'], 'appname') 디렉토리에 있으며 유닉스에서는 보통 os.path.join(os.environ['HOME'], '.appname')입니다.

3

사용자는 자신의 비밀 키를 구성해야합니다. 구성 파일은이 정보를 보관할 수있는 완벽한 장소입니다.

구성 파일에는 몇 가지 선택 사항이 있습니다.

  1. 구성 파일을 구문 분석하려면 ConfigParser을 사용하십시오.

  2. 간단한 파이썬 모듈을 구성 파일로 사용하십시오. 해당 파일에서 값을로드하려면 execfile을 간단하게 입력하면됩니다.

  3. 사용자 고유의 구성 파일 표기법을 작성하고이를 구문 분석하십시오.

+0

+1이지만 표준 가져 오기에 비해 execfile을 사용하는 이유는 무엇입니까? – ChristopheD

+0

내가 만든 사전에로드 된 "전역"을 원하기 때문입니다. 그것은 적절한 모듈이 아니며 일반적으로 몇 개의 전역을 원합니다. –

1

어떤 경로과 같이, os.path.expanduser()와 일반 물결표 (~)를 확장하여 크로스 플랫폼 방식으로 사용자의 홈 디렉토리를 참조 할 수 있습니다 :

appdir = os.path.join(os.path.expanduser('~'), '.myapp') 
+0

아닙니다. 내 Windows 컴퓨터에서'os.path.expanduser ('~')'는 응용 프로그램 데이터를 저장하는 권장 장소가 아닌'C : \ Documents and Settings \ Vinay Sajip '로 확장됩니다. 그 추천 장소는 환경 변수'APPDATA'에 의해 지정되었습니다. 질문은 사용자의 홈 디렉터리를 찾는 방법이 아니라 응용 프로그램 구성 데이터를 저장할 위치를 묻는 것입니다. 같은 것이 아닙니다! –

관련 문제