Python 字符串构建:隐藏字符串长度?
我正在修改python代码,遇到了这个语句,我不知道它的意思,在Internet上也找不到任何关于它的内容。对不起,这太离题了Python 字符串构建:隐藏字符串长度?,python,string,Python,String,我正在修改python代码,遇到了这个语句,我不知道它的意思,在Internet上也找不到任何关于它的内容。对不起,这太离题了 conn.queue.put('%x\r\n%s\r\n' % (len(chunk), chunk) if chunked else chunk) 代码将一个区块放入线程队列中,以便稍后发送。我的问题是这里发生了什么事情“%x\r\n%s\r\n”它似乎在放置字符串长度,然后用回车符隐藏
conn.queue.put('%x\r\n%s\r\n' % (len(chunk), chunk)
if chunked else chunk)
代码将一个区块放入线程队列中,以便稍后发送。我的问题是这里发生了什么事情“%x\r\n%s\r\n”它似乎在放置字符串长度,然后用回车符隐藏它?此外,我还不清楚“if chunked else chunk”是什么,因为它是一个没有主体的if语句
谢谢这不是一个没有主体的if语句,它是一个条件表达式<如果
条件
为真,则代码>如果条件B计算结果为A
,否则计算结果为B
。因此,在这种情况下:
'%x\r\n%s\r\n' % (len(chunk), chunk)
if chunked else chunk
将是:
'%x\r\n%s\r\n' % (len(chunk), chunk)
或者只是
chunk
,这取决于chunked
是否为真。然后将结果传递给conn.queue.put
“使用回车符隐藏它”?您的意思是不是使用DOS样式的行尾约定“\r\n”将它分成两行?你为什么说“隐藏”?是什么让你觉得它“隐藏”了呢?谢谢,你知道如果分块的话结果会是什么吗?假设len(chunk)=3,chunk='abc'@Tony:结果将是“3\r\nabc\r\n”
,基本上是长度、换行符、字符串,然后是另一个换行符。有关在HTTP 1.1对话中的外观示例,请参见