subprocess.Popen 클래스의 이름이 Subprocess로 지정되지 않은 이유는 무엇입니까?[닫은]

StackOverflow https://stackoverflow.com/questions/38197

  •  09-06-2019
  •  | 
  •  

문제

의 기본 수업 subprocess 모듈은 이름입니다 Popen, 하위 프로세스를 나타냅니다. Popen 누군가 객체가 실제로 무엇인지 나타내는 이름을 선택하는 대신 이름이 일부 함수 명명 형식을 따르도록 강제하려는 것 같습니다.예를 들어, 다음과 같은 간단한 항목 대신 왜 이 항목이 선택되었는지 아는 사람이 있나요? Subprocess?

도움이 되었습니까?

해결책

자, 이것이 세계에서 가장 위대한 이름이라고 말하는 것은 아니지만 여기에 내가 이해하는 아이디어가 있습니다.

원래 popen 계열은 os 모듈에 있었고 유서 깊은 posix popen의 구현이었습니다.subprocess 모듈로의 이동은 이름을 바꾸는 좋은 기회였을 것입니다. 하지만 Popen을 유지하면 Python이나 심지어 유서 깊은 posix 함수에 대한 오랜 역사를 가진 사람들이 문서에서 더 쉽게 찾을 수 있다고 생각합니다.

최초의 POSIX 화신부터, Popen 항상 프로세스를 열고 해당 stdio에서 파일처럼 읽고 쓸 수 있도록 의도되었습니다.따라서 니모닉은 Popen 의 줄임말이다. ProcessOpen 일종의 개방적인 것처럼 보이려고 노력하는 거죠.

다른 팁

subprocess.Popen 그룹을 대체합니다. os.popenX POSIX 함수(오랜 역사를 가지고 있음).이름이 그런 것 같아요 Popen 기존 기능에 익숙한 사람들이 새로운 기능을 찾아 사용할 가능성이 높아집니다.

그만큼 하위 프로세스용 PEP(PEP 324) 모듈 이름에 대해서는 약간의 논의가 있지만 클래스에 대해서는 논의되지 않습니다. Popen.그만큼 PEP 목록 (Python Enhancement Proposal)은 일반적으로 Python 기능에 대한 이론적 근거를 찾고 있다면 시작하기 좋은 곳입니다.

기능성 때문에 이름을 선택한 것 같습니다. subprocess 교체 중은 이전에 os 모듈을 os.popen 기능.둘 사이의 마이그레이션을 자동화하는 방법도 있을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top