' STR'对象不支持python中的项目赋值?

时间:2016-02-03 14:20:18

标签: python python-2.7 file readline readlines

我想逐行读取input.txt并将其作为请求发送到服务器,然后分别保存响应。如何逐行读写数据? 我的代码只适用于input.txt中的一个输入(例如:我很饿)。你能帮我多次输入吗? 我做了如下。现在抛出一个错误:File" tts.py",198行,in     TEXT_TO_READ [" tts_input"] = line TypeError:' str'对象不支持项目分配

我的代码:

TEXT_TO_READ = """{

    "tts_type": "text",

    "tts_input": "DUMMY"

}"""
TEXT_TO_READ = json.loads(TEXT_TO_READ)
scriptPath = os.path.abspath(__file__)
scriptPath = os.path.dirname(scriptPath)
fileInput = os.path.join(scriptPath, "input.txt")
try:
    content = open(fileInput, "r")
except IOError:
    print "error message"
    Error_Status = 1
    sys.exit(Error_Status)
for line in content.readlines():
    if len(line):
        TEXT_TO_READ["tts_input"]=line.strip('\n')
        TEXT_TO_READ = json.dumps(TEXT_TO_READ)
        print TEXT_TO_READ

request = Request()

1 个答案:

答案 0 :(得分:0)

您使用JSON字符串替换了1.0.0-rc1-final

TEXT_TO_READ

下一次迭代你不再有一个字典,而是一个字符串,所以你的作业失败了:

TEXT_TO_READ = json.dumps(TEXT_TO_READ)

不要对编码的JSON数据和字典使用相同的变量。