Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 字符串构建:隐藏字符串长度?_Python_String - Fatal编程技术网

Python 字符串构建:隐藏字符串长度?

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”它似乎在放置字符串长度,然后用回车符隐藏

我正在修改python代码,遇到了这个语句,我不知道它的意思,在Internet上也找不到任何关于它的内容。对不起,这太离题了

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对话中的外观示例,请参见