Przedstawione poniżej funkcje służą tworzeniu nowych obiektów plikowych.
Zmieniono w wersji 2.3: Jeśli zostanie podany argument tryb, musi się on rozpoczynać jedną z trzech liter: "r", "w" lub "a", w przeciwnym wypadku wygenerowany zostanie wyjątek ValueError.
'r' (domyślnie) czy też 'w'.
Argument rozmiar_bufora pełni taką samą rolę, jak odpowiadający mu
argument wbudowanej funkcji open(). Stan zakończenia polecenia
(zakodowany w formacie odpowiednim dla funkcji wait()) dostępny
jest jako wartość zwracana przez metodę close() obiektu
plikowego. Wyjątkiem jest sytuacja, w której kod stanu zakończenia ma
wartość zero (zakończenie bez błędów): metoda close() zwraca
wówczas wartość None.
Dostępność: Unix, Windows.
Zmieniono w wersji 2.0: We wcześniejszych wersjach Pythona funkcja ta działała niestabilnie w systemie Windows. Powodem tego było użycie funkcji _popen() z bibliotek dostarczanych wraz z systemem Windows. Nowsze wersje Pythona nie używają błędnej implementacji wchodzącej w skład bibliotek systemu Windows..
W przypadku każdej z odmian funkcji popen(), jeśli zostanie
podany argument rozmiar_bufora, wówczas określa on rozmiar bufora
używanego w komunikacji za pośrednictwem potoków .
Jeśli zostanie podany argument tryb, to powinien on być napisem
o wartości code'b' lub 't'. W systemie Windows podana wartość
potrzebna jest do określenia, czy obiekt powinien być otwarty w trybie
binarnym, czy tekstowym. Domyślną wartością argumentu tryb jest
't'.
Opisane metody nie umożliwiają pobrania kodu powrotu z procesów potomnych. Jedynym sposobem na kontrolowanie strumieni wejściowych i wyjściowych oraz pobranie kodu powrotu jest użycie klasy Popen3 lub Popen4 z mozułu popen2. Dostępne są one tylko w systemie Unix.
Omówienie możliwych sytuacji zakleszczeń, związanych z użyciem tych funkcji, omówiono w części "Zagadnienia związane z przepływem sterowania" (sekcja 6.8.2).
Realizację tych samych zadań umożliwia moduł popen2, udostępniający funkcje o tych samych nazwach, lecz zwracający wartości o różnym porządku.
Zajrzyj do Informacji na temat tej publikacji... aby pomóc w jej rozwoju.