In Python weiß ich, dass der Standard-Ausgabestream als stdout Dateiobjekt im integrierten sys-Modul verfügbar ist, aber ich bin verwirrt: Erstens kann ich das Modul sys in der Art und Weise nicht finden Ich mache mit jedem anderen Modul (modulename.__file__
); Zweitens, ich weiß nicht, wie man die stdout-Dateiobjekte findet.Wie finde ich den Speicherort des Python-stdout-Dateiobjekts?
0
A
Antwort
1
stdout
ist im Modul sys
definiert. Angenommen, Sie verwenden die C-Implementierung, laden Sie den Quellcode (3.6) herunter und suchen Sie unter Python/sysmodule.c
. Allerdings stdout
selbst von PyId_stdout
zugeordnet, die in Python/pylifecycle.c
in der Funktion definiert ist initstdio
:
/* Set sys.stdout */
fd = fileno(stdout);
std = create_stdio(iomod, fd, 1, "<stdout>", encoding, errors);
if (std == NULL)
goto error;
PySys_SetObject("__stdout__", std);
_PySys_SetObjectId(&PyId_stdout, std);
Py_DECREF(std);
Wie Sie sehen können, es stammt aus der stdio
C-Laufzeitbibliothek. Außerdem wird zur gleichen Zeit erstellt, und dies ist ein Fallback, um stdout
wiederherzustellen, wenn Sie es neu zuweisen. Die Funktion create_stdio
in der gleichen Quelldatei enthält auch weitere Details wie Pufferung, Zeilenumbrüche und Codierung.
Verwandte Themen
- 1. Wie finde ich den Speicherort des Scratchpuffers?
- 2. Wie finde ich den Speicherort von Python-Modulquellen?
- 3. Wie finde ich den Speicherort eines SVN-Repository?
- 4. Wie finde ich den Speicherort der hochgeladenen Datei in mongoDB?
- 5. Wie finde ich den Speicherort von log4j, XML?
- 6. Wie finde ich den Speicherort des tcsh-Shell-Skripts, das ich ausführe?
- 7. Wie finde ich den Speicherort des Programms in der Registrierung, wenn ich MSI GUID weiß?
- 8. Wie finde ich den Standort des Benutzers?
- 9. Wie ändere ich den Speicherort des Dropdown-Menüs dat.gui?
- 10. Wie kann ich den Speicherort des Influxdb-Speicherordners ändern?
- 11. Kramdown: Wie kann ich den Speicherort des Bildes festlegen?
- 12. Nuget Wie kann ich den Speicherort des Pakets angeben?
- 13. Wie kann ich den Speicherort des Arbeitsordners programmgesteuert ändern?
- 14. Wie bekomme ich den Speicherort von ContextMenuStrip?
- 15. Wie finde ich den Speicherort von Python-Modulquellen, während ich ihn nicht importieren kann?
- 16. Wie finde ich den Speicherort einer .db-Datei, die in meinem Xcode-Projekt angezeigt wird?
- 17. Bedarfsabhängige Ressourcen in iOS 9 - Wie finde ich den genauen Speicherort der heruntergeladenen Ressourcen?
- 18. Wie finde ich den [x] [Tag] des Monats in PHP?
- 19. Android: Wie finde ich den Namen des verbundenen Bluetooth-Geräts?
- 20. Wie finde ich den relativen x Pfad des eindeutigen Codes?
- 21. Wie finde ich den parametrisierten Typ des Rückgabetyps durch Inspektion?
- 22. Wie finde ich den Standort des Benutzers in swift?
- 23. Java Wie finde ich den ersten Login des Monats?
- 24. Wie finde ich den Hostnamen des Redis-Servers heraus?
- 25. Wie finde ich den letzten Tag des Monats?
- 26. Wie finde ich den aktuellen Tag des Jahres in PHP?
- 27. Wie finde ich den dritten Teil des Pfadnamens?
- 28. Wie finde ich den Index des gesampelten Wertes?
- 29. Den Speicherort des Benutzers in Meteor speichern
- 30. Wie finde ich den Speicherort der R-Bibliothek in Mac OSX heraus?
eingebaut => kein '__file__' Attribut. Was meinst du damit, "stdout objects" nicht zu finden? Welche Informationen benötigst du von ihnen? –
@ Jean-FrançoisFabre "unfähig" bedeutet, dass ich nicht weiß, wie man es findet. Ich würde es gerne sehen. – marco
'sys.stdout' ist es. Was brauchst du mehr? –