Reçoit et génère la sortie standard des implémentations Python 2 et Python 3> C

Raspberry Pi 2 Model B (En dessous de RPi)
Raspbian Jessie
Python 2.7.9
Python 3.4.2
gcc (Raspbian 4.9.2-10) 4.9.2

Aperçu

Je pense mettre en œuvre la communication I2C en C et envoyer le résultat à RS-232C en Python en utilisant pySerial. Enquête préliminaire pour cela.

la mise en oeuvre

C> Sortie standard toutes les 1 seconde

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> Recevez la sortie standard et la norme de sortie

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

Compiler et exécuter

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,

La sortie standard est effectuée toutes les secondes.

** Remarque: raw_input () est utilisé dans Python 2 **

Remarques

--sys.stdin n'a pas fonctionné comme prévu

Python 3> Recevez la sortie standard et la norme de sortie

Python 3 utilise input () au lieu de raw_input ().

--Référence: Introduction à Python pour le calcul scientifique et technologique par Kenji Nakaku --Table 1.4 sur p14 Exemple de différences entre la série Python 2 et la série Python 3

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

Reçoit et génère la sortie standard des implémentations Python 2 et Python 3> C
UnicodeEncodeError lutte avec la sortie standard de python3
Vérification de la version de Python La destination de sortie V est la sortie d'erreur standard
entrée et sortie python
Bases de python: sortie
Calcul de l'écart type et du coefficient de corrélation en Python
Implémentation de Fibonacci et des nombres premiers (python)
Installation source et installation de Python
Module [Python of Hikari-] Chapitre 08-03 (Importation et utilisation de la bibliothèque standard)
Coordination de chaque processus dans MPI et mise en mémoire tampon de la sortie standard
Construction d'environnement de python et opencv
L'histoire de Python et l'histoire de NaN
Installer SciPy et matplotlib (Python)
[Compréhension et application de la syntaxe] Changement flexible de la destination de sortie standard Python
[Introduction à Python] J'ai comparé les conventions de nommage de C # et Python.
Lire la sortie standard d'un sous-processus ligne par ligne en Python
Rendre la sortie standard non bloquante en Python
Ceci et cela des propriétés python
Exporter et exporter des fichiers en Python
Coexistence de Python2 et 3 avec CircleCI (1.0)
Résumé des index et des tranches Python
Réputation des livres Python et des livres de référence
Liste de vérification des compétences de Paiza des rangs D et C fréquemment utilisés ~ Python ~
Python Paiza-Divers contrôles de compétences et entrées standard
Installation du code Visual Studio et installation de python
Calculer et afficher le poids standard avec python
J'ai comparé argparse standard python3 et python-fire
Arborescence de sortie des fichiers en Python
Extraction de tweet.js (json.loads et eval) (Python)
Implémenter le filtre FIR en langage Python et C
Connectez beaucoup de Python ou et et
Ecrire le fichier O_SYNC en C et Python
Communication socket par langage C et Python
[python] Différence entre la sortie rand et randn
Introduction facile de la série python3 et d'OpenCV3
[Python] Diverses combinaisons de chaînes de caractères et de valeurs
Automatisation égale de l'installation de Python et PyPI
Compréhension complète du threading Python et du multitraitement
RaspberryPi L Chika avec Python et C #
[Python] Chapitre 02-03 Bases des programmes Python (entrée / sortie)
Projet Euler # 1 "Multiple de 3 et 5" en Python
Communication de données chiffrées entre Python et C #
[Python] De l'analyse morphologique des données CSV à la sortie CSV et à l'affichage graphique [GiNZA]
Compétitif Pro avec Python et VSCode-Simplification de l'entrée standard et automatisation du jugement de cas d'échantillons-
Utilisez Python pour une sortie formatée telle que C / C ++ printf
Comment générer une séquence en Python et C ++
Résumé des différences entre PHP et Python
Lire JSON avec Python et générer un CSV
Spécification de la plage des tableaux ruby et python
Installation de Python 3 et Flask [Résumé de la construction de l'environnement]
Comparez la vitesse d'ajout et de carte Python
[Python] Chapitre 02-01 Bases des programmes Python (opérations et variables)
Implémentation de l'arbre TRIE avec Python et LOUDS
environnement de développement python -utilisation de pyenv et virtualenv-
Liens et mémos de chaînes de code de caractères Python
Sortie sous la forme d'un tableau python
Comparaison d'écriture R et Python (méthode de division mutuelle euclidienne)
Comment générer "Ketsumaimo" en standard en Python
Résumé relatif aux E / S de python et fortran