2016-12-09 7 views
0

私が書いたコードを実行すると少し問題があります。intをPythonを使ってstrsに変換する

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 

私はこれを実行するたびに、私はエラーだ「はTypeError:書き込みを()の引数はstrをしなければならない、BOOLない」まだ私が参加文を使用して文字列に変換しています、と私は置く場所が表示されませんどこでもboolステートメント。

誰かが私の問題を解決するために文字列に正しく変換してintを導くことができれば、私のプログラム内でこの問題が発生している理由に関する一般的なアドバイスと一緒に、

+0

「rolldata」に割り当てられます。 – Shadow

+0

rolldata = obj [str1の 'roll']はboolです。 –

+0

サイドノート、私はstr1のobj ['roll']のためにかなり確信しています:文字列を反復しているので、あなたがしたいことではありません... – Iluvatar

答えて

1

あなたはこの行のrolldata書く:

file.write(rolldata) 

をいますが、この行のbooleanに設定します

rolldata = obj['roll'] in str1 
0

私はあなただけを見つけるためにその上に行く可能性がかなり確信していますなぜこれが起こっているのですか?あなたは単にそれをデバッグしようとすると、すべてを慎重に行き、すべてが機能することを確かめることができます。私はそれに遭遇する問題で、私はそれに余分なものを追加し、それが動作するところまでゆっくりと囁くのが好きです。

したがって、あなたのケースでは、確かに、単にstr()を試してから、そこからデバッグを続行してください。

0
rolldata = obj['roll'] in str1 

これは、理想的にはスタックトレースを含めて、私たちは完全な誤りを教えてくださいブール値を返し、

関連する問題