netrc — netrc 파일 처리¶
소스 코드: Lib/netrc.py
netrc 클래스는 유닉스 ftp 프로그램과 다른 FTP 클라이언트가 사용하는 netrc 파일 형식을 구문 분석하고 캡슐화합니다.
- class netrc.netrc([file])¶
netrc인스턴스 또는 서브클래스 인스턴스는 netrc 파일의 데이터를 캡슐화합니다. 초기화 인수가 제공되면 해당 인수로 지정된 파일을 파싱합니다. 인수가 없으면os.path.expanduser()에 의해 결정되는 사용자 홈 디렉터리의.netrc파일을 읽습니다. 그 외의 경우FileNotFoundError예외가 발생합니다. 파싱 오류 시 파일 이름, 줄 번호 및 종료 토큰이 포함된 진단 정보와 함께NetrcParseError를 발생시킵니다.POSIX 시스템에서 인자가 지정되지 않은 경우,
.netrc파일의 소유권이나 권한이 안전하지 않으면(프로세스를 실행하는 사용자가 아닌 다른 사용자 소유이거나 다른 사용자가 읽기 또는 쓰기가 가능한 경우) 비밀번호가 포함되어 있을 때NetrcParseError를 발생시킵니다. 이는.netrc를 사용하는 ftp 및 기타 프로그램과 동일한 보안 동작을 구현합니다. 이러한 보안 검사는os.getuid()를 지원하지 않는 플랫폼에서는 사용할 수 없습니다.버전 3.4에서 변경: POSIX 권한 검사를 추가했습니다.
버전 3.7에서 변경: file이 인자로 전달되지 않으면
os.path.expanduser()가.netrc파일의 위치를 찾는 데 사용됩니다.버전 3.10에서 변경:
netrc는 로컬 특정 인코딩을 사용하기 전에 UTF-8 인코딩을 시도합니다. netrc 파일의 항목이 더 이상 모든 토큰을 포함할 필요가 없습니다. 누락된 토큰의 값은 빈 문자열로 기본 설정됩니다. 이제 모든 토큰과 그 값에 공백이나 비 ASCII 문자와 같은 임의의 문자가 포함될 수 있습니다. 로그인 이름이 익명인 경우 보안 검사가 실행되지 않습니다.
- exception netrc.NetrcParseError¶
소스 텍스트에 문법적인 에러가 있을 때
netrc클래스에서 발생하는 예외. 이 예외 인스턴스는 세 가지 흥미로운 어트리뷰트를 제공합니다.- msg¶
에러의 텍스트 설명.
- filename¶
소스 파일의 이름.
- lineno¶
에러가 발견된 줄 번호.
netrc 객체¶
netrc 인스턴스에는 다음과 같은 메서드가 있습니다:
- netrc.authenticators(host)¶
host에 대한 인증 자의 3-tuple
(login, account, password)를 반환합니다. netrc 파일에 주어진 호스트에 대한 항목이 없으면 ‘default’ 항목과 연관된 튜플을 반환합니다. 일치하는 호스트도 기본 항목도 사용할 수 없으면None을 반환합니다.
- netrc.__repr__()¶
클래스 데이터를 netrc 파일의 형식의 문자열로 덤프합니다. (이것은 주석을 버리고 엔트리를 재정렬할 수 있습니다.)
netrc의 인스턴스에는 공개 인스턴스 변수가 있습니다:
- netrc.hosts¶
호스트 이름을
(login, account, password)튜플에 매핑하는 딕셔너리. ‘default’ 항목이 있으면 그 이름의 의사 호스트로 표시됩니다.
- netrc.macros¶
매크로 이름을 문자열 리스트에 매핑하는 딕셔너리.