2016-12-09 6 views
0

Ich habe ein kleines Problem, wenn ich Code ausführen, den ich geschrieben habe.Konvertieren von Ints zu Strs mit Python

import requests 
import time 
import datetime 
import os 



def datarequest(): 
url = 'http://csgoroll.com/v1/roulette/state?token=bcb78foobar7b9' # Could add a + pls str(pagesomething) to add on to the url so that it would update 
sourcecode = requests.get(url) # requests the data from the site 
obj = sourcecode.json() 
### 

str1 = ''.join(str(e) for e in obj['rolls']) 
for obj['roll'] in str1: 

    rolldata = obj['roll'] in str1 
    file = open("newfile.txt", "w") 
    file.write(rolldata) 
    file.close() 
    file = open('newfile.txt', 'r') 
    print(file.read()) 


### 


if __name__ == '__main__': 
while True: 
    datarequest() 
    time.sleep(120) # these are seconds 

Jedes Mal, wenn ich das laufen habe ich den Fehler „Typeerror: write() Argument str werden müssen, nicht Bool“ aber ich bin Umwandlung in eine Zeichenfolge, die die Anweisung verbinden mit, und ich sehe nicht, wo ich setzen eine bool Aussage überall.

Wenn mir jemand Anleitung geben könnte, wie man den String richtig von und int umsetzt, um mein Problem zu lösen, würde ich es sehr schätzen, zusammen mit irgendeinem allgemeinen Rat, warum ich dieses Problem in meinem Programm habe.

+0

Bitte geben Sie den vollständigen Fehler ‚rolldata‘ zuweisen, idealerweise die stacktrace einschließlich. – Shadow

+0

rolldata = obj ['roll'] in str1 ist ein bool. –

+0

Seitliche Notiz, ich bin mir ziemlich sicher 'für obj ['roll'] in str1:' ist nicht das, was Sie tun möchten, da Sie über eine Zeichenfolge iterieren ... – Iluvatar

Antwort

1

Sie schreiben rolldata in dieser Zeile:

file.write(rolldata) 

aber Sie setzen ihn auf einem boolean in dieser Zeile:

rolldata = obj['roll'] in str1 
0

Ich bin ziemlich sicher, könnten Sie einfach gehen sie, um herauszufinden, warum das passiert. Sie könnten einfach versuchen, es zu debuggen, gehen Sie alles sorgfältig durch und stellen Sie sicher, dass alles funktioniert. Bei Problemen, auf die ich stoße, füge ich gern übermäßige Dinge hinzu und reduziere sie dann langsam dahin, wo sie funktionieren.

Also, um es zusammenzufassen, in Ihrem Fall, nur um sicher zu gehen, versuchen Sie einfach str() mit zu beginnen, und das Debuggen von dort fortzusetzen.

0
rolldata = obj['roll'] in str1 

dies eine bool zurückgeben und

Verwandte Themen