';str';对象不支持python中的项分配?
我想逐行读取input.txt,并将其作为请求发送到服务器,然后分别保存响应。如何逐行读写数据? 我下面的代码只适用于input.txt中的一个输入(例如:我饿了)。你能帮我怎么做多重输入吗? 我做的如下。现在抛出一个错误:文件“tts.py”,第198行,在 文本到读取[“tts\U输入”]=行 TypeError:“str”对象不支持项分配 我的代码:';str';对象不支持python中的项分配?,python,python-2.7,file,readline,readlines,Python,Python 2.7,File,Readline,Readlines,我想逐行读取input.txt,并将其作为请求发送到服务器,然后分别保存响应。如何逐行读写数据? 我下面的代码只适用于input.txt中的一个输入(例如:我饿了)。你能帮我怎么做多重输入吗? 我做的如下。现在抛出一个错误:文件“tts.py”,第198行,在 文本到读取[“tts\U输入”]=行 TypeError:“str”对象不支持项分配 我的代码: TEXT_TO_READ = """{ "tts_type": "text", "tts_input": "DUMMY"
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()
您使用JSON字符串将
文本\u替换为\u READ
:
TEXT_TO_READ = json.dumps(TEXT_TO_READ)
在下一次迭代中,您不再拥有字典,而是一个字符串,因此分配失败:
TEXT_TO_READ["tts_input"]=line.strip('\n')
对于编码的JSON数据和字典,不要使用相同的变量。您用JSON字符串替换了
TEXT\u TO\u READ
:
TEXT_TO_READ = json.dumps(TEXT_TO_READ)
在下一次迭代中,您不再拥有字典,而是一个字符串,因此分配失败:
TEXT_TO_READ["tts_input"]=line.strip('\n')
不要对编码的JSON数据和字典使用相同的变量。我应该在这里修改什么?@sam:你想实现什么?如果您只想将json编码写入stdout,那么只需执行
打印json.dumps(TEXT-TO-READ)
。这避免了将TEXT\u设置为\u READ
的情况。从input.txt读取第一行后,再向服务器发送请求,然后再次读取第二行并发送请求。但这里的输入是tts_输入。要访问tts_输入,我们使用json LOADSY您只使用json.loads()
在脚本开头加载硬编码字符串。如果目标是这样的话,你没有在文件内容上使用它。不,不是真的。我只能告诉你为什么会出错。我应该在这里修改什么?@sam:你想达到什么目的?如果您只想将json编码写入stdout,那么只需执行打印json.dumps(TEXT-TO-READ)
。这避免了将TEXT\u设置为\u READ
的情况。从input.txt读取第一行后,再向服务器发送请求,然后再次读取第二行并发送请求。但这里的输入是tts_输入。要访问tts_输入,我们使用json LOADSY您只使用json.loads()
在脚本开头加载硬编码字符串。如果目标是这样的话,你没有在文件内容上使用它。不,不是真的。我只能告诉你为什么会出错。请不要故意破坏你的问题。对不起。你能告诉我怎么修吗?请不要故意破坏你的问题。对不起。你能告诉我怎么修吗?