使用Python将int转换为strs

时间:2016-12-09 01:13:21

标签: python typeerror

当我执行我编写的一些代码时,我遇到了一些问题。

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:write()参数必须是str,而不是bool"但是我使用join语句将它转换为字符串,我没有看到我在任何地方放置bool语句。

如果有人能给我指导如何正确地转换为字符串和int来解决我的问题,我会非常感激,以及为什么我在我的程序中遇到这个问题的一般建议。

3 个答案:

答案 0 :(得分:1)

您在此行中写下rolldata

file.write(rolldata)

但你在这一行中将它设置为布尔值:

rolldata = obj['roll'] in str1

答案 1 :(得分:0)

我很确定你可以过去看看为什么会发生这种情况。您可以简单地尝试调试它,仔细检查所有内容并确保一切正常。遇到类似的问题,我喜欢给它添加过多的东西,然后慢慢将它缩小到它工作的地方。

所以,总结一下,在你的情况下,只是为了确保,只需尝试str()开始,然后从那里继续调试。

答案 2 :(得分:0)

rolldata = obj['roll'] in str1

这将返回一个bool并分配给' rolldata'