Empfängt und gibt die Standardausgabe von Python 2- und Python 3> C-Implementierungen aus

Raspberry Pi 2 Model B (Unterhalb von RPi)
Raspbian Jessie
Python 2.7.9
Python 3.4.2
gcc (Raspbian 4.9.2-10) 4.9.2

Überblick

Ich denke darüber nach, die I2C-Kommunikation in C zu implementieren und das Ergebnis mit pySerial an RS-232C in Python zu senden. Voruntersuchung dazu.

Implementierung

C> Standardausgabe alle 1 Sekunde

tickTime_180801.c


#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#include <stdint.h>
#include <time.h>

static void printTime_clock_gettime(bool addLF)
{
    struct timespec tvToday; // for msec
    struct tm *ptm; // for date and time

    clock_gettime(CLOCK_REALTIME_COARSE, &tvToday);
    ptm = localtime(&tvToday.tv_sec);

    // date and time
    printf("%04d/%02d/%02d,%02d:%02d:%02d,",
        ptm->tm_year + 1900, ptm->tm_mon + 1, ptm->tm_mday,
        ptm->tm_hour, ptm->tm_min, ptm->tm_sec);
    // msec
    printf("%03d,", (uint16_t)(tvToday.tv_nsec / 1000000));

    if (addLF) {
        printf("\n");
    }
}

int main(void)
{
	struct timespec req;	
	int loop;
	
	req.tv_sec = 1;
	req.tv_nsec = 0;

	for(loop=0; loop<5; loop++) {
		printTime_clock_gettime(/*addLF=*/true);
		fflush(stdout);
		nanosleep(&req, NULL);
	}
}

Python 2> Standardausgabe empfangen und Standard ausgeben

redirect_180801.py


# v0.1 Aug. 01, 2018
#   - break when [EOFError]
#   - read using raw_input()

# on Python 2.7.9

while True:
    try:
        res = raw_input()
        print(res)
    except EOFError:
        break

Kompilieren und ausführen

python


$ gcc tickTime_180801.c -o tickTime_180801
$ ./tickTime_180801 | python2 -u redirect_180801.py 
2018/08/01,18:06:11,972,
2018/08/01,18:06:12,982,
2018/08/01,18:06:13,982,
2018/08/01,18:06:14,982,
2018/08/01,18:06:15,982,

Die Standardausgabe erfolgt jede Sekunde.

** Hinweis: raw_input () wird in Python 2 verwendet **

Bemerkungen

--sys.stdin hat nicht wie erwartet funktioniert

Python 3> Standardausgabe empfangen und Standard ausgeben

Python 3 verwendet input () anstelle von raw_input ().

redirect_py3_180801.py


# v0.1 Aug. 01, 2018
#   - break when [EOFError]
#   - read using raw_input()

# on Python 3.4.2

while True:
    try:
        res = input()
        print(res)
    except EOFError:
        break

run


$ ./tickTime_180801 | python3 -u redirect_py3_180801.py 
2018/08/01,18:37:13,143,
2018/08/01,18:37:14,153,
2018/08/01,18:37:15,153,
2018/08/01,18:37:16,153,
2018/08/01,18:37:17,163,

Recommended Posts

Empfängt und gibt die Standardausgabe von Python 2- und Python 3> C-Implementierungen aus
UnicodeEncodeError hat Probleme mit der Standardausgabe von Python3
Das Ausgabeziel für die Python-Versionsprüfung V ist die Standardfehlerausgabe
Python-Eingabe und Ausgabe
Grundlagen von Python: Ausgabe
Berechnung der Standardabweichung und des Korrelationskoeffizienten in Python
Implementierung von Fibonacci und Primzahlen (Python)
Quellinstallation und Installation von Python
[Python of Hikari-] Kapitel 08-03 Modul (Import und Verwendung der Standardbibliothek)
Koordination jedes Prozesses im MPI und Pufferung der Standardausgabe
Umgebungskonstruktion von Python und OpenCV
Die Geschichte von Python und die Geschichte von NaN
Installation von SciPy und matplotlib (Python)
[Verständnis und Anwendung mit Syntax] Flexibles Umschalten des Python-Standardausgabeziels
[Einführung in Python] Ich habe die Namenskonventionen von C # und Python verglichen.
Lesen Sie die Standardausgabe eines Unterprozesses zeilenweise in Python
Machen Sie die Standardausgabe in Python nicht blockierend
Dies und das von Python-Eigenschaften
Exportieren und Ausgeben von Dateien in Python
Koexistenz von Python2 und 3 mit CircleCI (1.0)
Zusammenfassung der Python-Indizes und -Slices
Reputation von Python-Büchern und Nachschlagewerken
Paiza Skill Checkliste der häufig verwendeten D- und C-Ränge ~ Python ~
Python Paiza - Verschiedene Fähigkeitsüberprüfungen und Standardeingaben
Installation von Visual Studio Code und Installation von Python
Berechnen Sie das Standardgewicht und zeigen Sie es mit Python an
Ich habe Python3 Standard Argparse und Python-Fire verglichen
Ausgabebaumstruktur von Dateien in Python
Extraktion von tweet.js (json.loads und eval) (Python)
Implementieren Sie den FIR-Filter in Python und C.
Verbinde viel Python oder und und
Schreiben Sie die O_SYNC-Datei in C und Python
Socket-Kommunikation in C-Sprache und Python
[Python] Unterschied zwischen Rand- und Randn-Ausgabe
Einfache Einführung in die Python3-Serie und OpenCV3
[Python] Verschiedene Kombinationen von Zeichenketten und Werten
Gleiche Automatisierung des Python- und PyPI-Setups
Vollständiges Verständnis von Python-Threading und Multiprocessing
RaspberryPi L Chika mit Python und C #
[Python] Kapitel 02-03 Grundlagen von Python-Programmen (Eingabe / Ausgabe)
Projekt Euler # 1 "Vielfaches von 3 und 5" in Python
Kommunikation verschlüsselter Daten zwischen Python und C #
[Python] Von der morphologischen Analyse von CSV-Daten bis zur CSV-Ausgabe und Diagrammanzeige [GiNZA]
Competitive Pro mit Python und VSCode-Vereinfachung der Standardeingabe und Automatisierung der Beurteilung von Beispielfällen
Verwenden Sie Python für formatierte Ausgaben wie C / C ++ printf
So generieren Sie eine Sequenz in Python und C ++
Zusammenfassung der Unterschiede zwischen PHP und Python
Lesen Sie JSON mit Python und geben Sie CSV aus
Angeben des Bereichs von Ruby- und Python-Arrays
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Vergleichen Sie die Geschwindigkeit von Python Append und Map
[Python] Kapitel 02-01 Grundlagen von Python-Programmen (Operationen und Variablen)
TRIE-Baumimplementierung mit Python und LOUDS
Python-Entwicklungsumgebung - Verwendung von Pyenv und Virtualenv-
Links und Memos von Python-Zeichencodezeichenfolgen
Ausgabe in Form eines Python-Arrays
R- und Python-Schreibvergleich (euklidische Methode der gegenseitigen Teilung)
So geben Sie "Ketsumaimo" standardmäßig in Python aus
E / A-bezogene Zusammenfassung von Python und Fortan