2016-04-05 15 views
-1

Ich habe gerade einen Twitter-Bot eingerichtet. Es zieht Tweets nach dem Zufallsprinzip aus einer Textdatei und twittert sie. Weil Twitter keine doppelten Tweets zulässt, wie kann ich den Tweet aus der Textdatei löschen, damit er nicht erneut versucht, ihn zu twittern? die entsprechenden Bits von Code wie folgt aussehen:Entfernen einer zufälligen Zeile aus einer Textdatei - Python

while True: 
lines = open('tweets.txt').read().splitlines() 
tweet = random.choice(lines) 
twitter.update_status(status=tweet) 
print (tweet) 
sleepTime = random.randint(30, 60) 
time.sleep(sleepTime) 

Edit: Ich brauche die TXT-Datei ohne den letzten tweet in sie zu aktualisieren/speichern. Damit es nicht versucht wird, es erneut zu lesen.

+0

initialisieren 'lines' nur am Anfang, dann Einträge aus der Liste entfernen, wie Sie sie wählen. – tripleee

+0

@triplee, Danke! Könntest du ein Beispiel geben? – user3576482

Antwort

-1

können Sie einfach diese aus der Liste entfernen lines, wenn Sie diesen Tweet nicht mehr brauchen:

while True: 
    lines = open('tweets.txt').read().splitlines() 
    ... 
    for line in lines: 
    if line == tweet: 
     lines.remove(line) 

#EDIT this code write list 'lines' without removed line 
with open("tweets.txt", 'w') as f:                           
for l in lines:                                                              
    f.write(l + '\n') 
+0

das wäre wirklich einfach gewesen. Aber es wird nicht die TXT-Datei aktualisieren, aus der der Bot die Tweets liest. – user3576482

+0

Sie Sir/Ma'm sind ein Genie, funktioniert genau wie ich wollte. – user3576482

Verwandte Themen