1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Python Tweepy Raspberry

    Bonsoir à tous, je me présente, je suis un humain, je teste.
    Ce soir je teste Tweepy , j'ai un bout de code qui fonctionne lorsque je veux tweeter une seule ligne de texte, présente dans "tweet.txt".

    Mais, je souhaite créer un tweet à chaque ligne de texte d'un fichier txt.
    Et là, je bloque..
    Si quelqu'un peut m'aider ?,,voici mon ptit bout de code qui tweet uniquement la première ligne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      api = get_api(cfg)
      fichier = open("tweet.txt", "r")
      tweet = fichier.read()
      fichier.close()
      status = api.update_status(status=tweet)
    Je voudrai poster un tweet de chaque ligne du fichier "tweet.txt".
    PS : En matière de code, tous langages confondus, je suis un enfant de 5 ans.

  2. #2
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    3 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 3 582
    Points : 9 406
    Points
    9 406
    Billets dans le blog
    1

    Par défaut

    Il y a deux questions intermédiaires auxquelles il faut d'abord répondre :
    1. comment lire toutes les lignes du fichier ?
    2. comment obtenir une string par ligne ?


    En fonction de la longueur de ton fichier, il y a plusieurs solutions.
    1. Si le fichier est court, tu peux lire toutes les lignes avec file.readlines() et faire une boucle sur chaque élément de la liste renvoyée
    2. Si le fichier est long, tu peux faire une boucle tant que file.read() te renvoie quelque chose et tweeter à chaque fois

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Tweepy

    Bonjour, merci Bktero pour votre réponse.
    Mon fichier fait environ 50 lignes.
    Chaque ligne fait moins de 140 caractères (Twitter oblige).
    J'ai essayé "tweet = fichier.readlines()"
    mais je dois me tromper dans la syntax ou l'indentation,
    j'ai un message d'erreur : [{u'message': u'Status is over 140 characters.', u'code': 186}]

  4. #4
    Modérateur

    Avatar de Bktero
    Homme Profil pro
    Ingénieur systèmes embarqués
    Inscrit en
    juin 2009
    Messages
    3 582
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur systèmes embarqués

    Informations forums :
    Inscription : juin 2009
    Messages : 3 582
    Points : 9 406
    Points
    9 406
    Billets dans le blog
    1

    Par défaut

    Il faudrait que tu fasses des vérifications sur ton texte de tweet avant de le tweeter.

    J'ai fait un code exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    with open("tweets.txt", "r") as file:
        print(file)
        lines = file.readlines()
        print(lines)
    
        for i, line in enumerate(lines):
            print(i, "th line:", line, " length=", len(line))
    
            if len(line) > 140:
                print("Error! Line is too long")
    Mon fichiers tweets.txt :
    Bonjour pi3dany!
    #python rocks!
    this is a tweet message
    Voici le résultat en console :
    "C:\Program Files\Python35\python.exe" C:/Users/X-pigradot/PycharmProjects/TestingSutffs/main.py
    <_io.TextIOWrapper name='tweets.txt' mode='r' encoding='cp1252'>
    ['Bonjour pi3dany!\n', '#python rocks!\n', 'this is a tweet message']
    0 th line: Bonjour pi3dany!
      length= 17
    1 th line: #python rocks!
      length= 15
    2 th line: this is a tweet message  length= 23
    
    Process finished with exit code 0

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    mars 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : mars 2017
    Messages : 3
    Points : 1
    Points
    1

    Par défaut Tweepy

    Merci Bktero, pour votre gentillesse.
    Le code fonctionne parfaitement.
    Dany

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. conseils pour serveur python sur raspberry
    Par nma dans le forum Raspberry Pi
    Réponses: 1
    Dernier message: 12/11/2016, 14h34
  2. Conenxion SSH python et raspberry
    Par Stoufiler dans le forum Réseau/Web
    Réponses: 4
    Dernier message: 14/06/2015, 18h24
  3. Python et Raspberry
    Par Horizon1956 dans le forum Raspberry Pi
    Réponses: 1
    Dernier message: 14/12/2014, 14h09
  4. Python : gestion des touches avec pygame sous Raspberry
    Par bypbop dans le forum Général Python
    Réponses: 5
    Dernier message: 18/11/2014, 20h11
  5. raspberry, python et com serie
    Par m_vincent dans le forum Bibliothèques tierces
    Réponses: 7
    Dernier message: 02/01/2014, 17h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo