Hvorfor er subprocess.Popen klassen ikke navngitt underprosessen?

stemmer
3

Den primære klasse i subprocessmodulen er navn Popen, og representerer en delprosess. Popenhøres ut som noen prøvde å tvinge navnet å følge noen funksjon navneformatet, snarere enn chosing et navn som faktisk representerer hva objektet er. Er det noen som vet hvorfor det ble valgt over noe enkelt som for eksempel Subprocess?

Publisert på 01/09/2008 klokken 17:40
kilden bruker
På andre språk...                            


3 svar

stemmer
8

Nå, jeg sier ikke at dette er den største navn i verden, men her ble ideen som jeg forstår det.

Opprinnelig var popen familien var i os modul og var en implementering av den ærverdige POSIX popen. Bevegelsen til subprosessen modulen ville ha vært en anledning til å endre navn på dem, men jeg antar at det å holde popen gjør det lettere å finne i dokumenter for de som har en lang historie med python eller til de ærverdige POSIX funksjoner.

Fra sin tidligste POSIX inkarnasjon, Popenhar alltid vært ment å åpne en prosess og tillater deg å lese og skrive fra sin stdio som en fil. Dermed mnemonic for Popener at det er en forkortelse for ProcessOpeni et forsøk på å slags, sorta, ser ut som åpen.

Svarte 01/09/2008 kl. 17:57
kilden bruker

stemmer
5

subprocess.Popenerstatter gruppen av os.popenXPOSIX funksjoner (som har en lang historie). Jeg antar at navnet Popengjør det mer sannsynlig for folk pleide å gamle funksjoner for å finne og bruke de nye.

Den PEP for delprosess (PEP 324) har en liten bit av diskusjon om navnet på modulen, men ikke av klassen Popen. Den listen over Peps (Python ekstrautstyr forslag) er generelt et utmerket sted å starte hvis du leter etter begrunnelsen for funksjoner i Python.

Svarte 01/09/2008 kl. 17:50
kilden bruker

stemmer
-1

Jeg antar at navnet ble valgt fordi funksjonaliteten subprocesserstatter ble tidligere i osmodulen som os.popenfunksjon. Det kan bli enda måter å automatisere migrasjon mellom de to.

Svarte 01/09/2008 kl. 17:47
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more