Ich finde keine Möglichkeit, dass PyCharm-Pipe die Ausgabe meines Python-Programms verarbeitet. Insbesondere verwende ich bunyan (Python Bunyan von Node Bunyan portiert) von meinem Programm, generiert es JSON Protokoll stderr:Wie man die Ausgabe des PyCharm-Pipe-Python-Programms durch ein anderes Textverarbeitungsprogramm macht
Python-Code:
logger.info({'nick': 'Duke', 'age': 30, 'expertise': ['Java', 'Javascript', 'Python']},
'Hi %(nick)s, your expertise recorded!');
Raw Ausgabe:
cymp:scratches cyue$ python logging-wander.py
{"name": "__main__", "expertise": ["Java", "Javascript", "Python"], "nick": "Duke", "age": 30, "time": "2016-08-02T18:16:12Z", "msg": "Hi Duke, your expertise recorded!", "hostname": "cymp.local", "level": 30, "pid": 1418, "v": 0}
Rohr verarbeitet Ausgabe:
cymp:scratches cyue$ python logging-wander.py 2>&1 | bunyan
[2016-08-02T18:16:15Z] INFO: __main__/1419 on cymp.local: Hi Duke, your expertise recorded! (nick=Duke, age=30)
expertise: [
"Java",
"Javascript",
"Python"
]
Der Ausgang ist piped zu Bunyans Befehlszeilentool für hübschen Druck (es gibt sogar Farben in den Terminals, aber nicht gezeigt hier).
In WebStorm für js kann ich ein lokales Shell-Skript als 'Node-Interpreter' hinzufügen, aber für PyCharm gibt es keine Option 'Hinzufügen' für 'Python-Interpreter' im Dialog 'Ausführen/Debug-Konfiguration' , und es klagt The selected file is not a valid home for PythonSDK
, wenn ich versuche, das Shell-Skript als "Projekt-Interpreter" hinzuzufügen.
Ich frage mich, jede Problemumgehung kann verwendet werden, um mein gewünschtes Ergebnis zu haben?
Wenn Sie nur die Ausgabefarbe müssen, gibt es eine schöne Plugin für PyCharm [Grep Konsole] genannt ist (https://plugins.jetbrains.com/ plugin/7125? pr = pycharm). – zegkljan
Danke, aber die Farbe ist für mich zweitrangig, ich habe das Beispiel aktualisiert, um das Ergebnis zu kontrastieren. Lesbarkeit ist am wichtigsten, während die Protokolldaten so strukturiert bleiben wie in json. –