在python中自动转换为字符串的奇怪失败

弗朗索瓦

这发生了(Python 2.7.13 - Linux):

import SimpleHTTPServer, SocketServer

httpd = SocketServer.TCPServer(("", 8080), SimpleHTTPServer.SimpleHTTPRequestHandler)
# this fails:
print "%s" % (httpd.socket.getsockname())
# this does not:
print "%s%s" % (httpd.socket.getsockname(), '')

它被认为是一个错误吗?

马丁·彼得斯

"..." % ...字符串插值有两种模式

  • 右侧的值要么是单个值。
  • 或者右侧的值是一个包含多个值的元组。

第二个选项意味着您永远不能将单个元组插入其中作为单个值;您必须先将该元组包装在另一个元组中。

socket.getsockname() 返回一个元组,所以不能直接插入,你必须先将它包装在一个元组中。

请注意,(...)您的第一个表达式中的括号仅对表达式进行分组,它们不会使某些内容成为元组;你需要使用逗号来制作一个元组:

>>> (0)  # not a tuple
0
>>> 0,   # a tuple
(0,)

因为您仅使用一个字符串占位符为字符串插值提供了一个 2 元素元组,所以您会被告知该元组中有更多元素尚未转换:

TypeError: not all arguments converted during string formatting

添加逗号:

print "%s" % (httpd.socket.getsockname(),)

或者更好的是,使用str.format()格式而不用担心元组:

print "{}".format(httpd.socket.getsockname())

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将自动(字符串)转换为D中的char

来自分类Dev

将Python字符串转换为float仅在PyInstaller中失败

来自分类Dev

将Python字符串转换为float仅在PyInstaller中失败

来自分类Dev

将Unicode转换为Python 2中的字符串

来自分类Dev

将字符串转换为python中的词典列表

来自分类Dev

将SQL输出转换为Python中的字符串

来自分类Dev

将集合转换为python中的字符串

来自分类Dev

将Unicode转换为Python 2中的字符串

来自分类Dev

将复杂的字符串转换为python中的列表

来自分类Dev

将文本转换为python中的字母字符串?

来自分类Dev

在python中将%%中的字符串转换为小写

来自分类Dev

将字节从for循环转换为python中的字符串

来自分类Dev

Python / Selenium与比较转换为整数值的字符串时发生非常奇怪的交互

来自分类Dev

在C ++中从字符串转换为双精度的奇怪之处

来自分类Dev

MySQL自动将字符串转换/转换为数字?

来自分类Dev

将URL编码的字符串(UTF-8)转换为Python中的字符串?

来自分类Dev

如何在python 2.7中将字符串转换为字节字符串

来自分类Dev

Python字符串转换为整数

来自分类Dev

隐式转换为const字符串引用失败

来自分类Dev

Android字符串转换为日期失败

来自分类Dev

从int转换为c字符串(const char *)失败

来自分类Dev

将字符串转换为我的类型的值失败

来自分类Dev

UIColor转换为字符串失败,为什么?

来自分类Dev

显式强制转换为类的字符串在Equals中失败

来自分类Dev

在猫鼬4.6.0中将字符串转换为ObjectId失败

来自分类Dev

自动将字符串转换为日期

来自分类Dev

如何自动将字符串转换为Pandas中的列表或集合?

来自分类Dev

一种将字符串文字自动转换为C中的`unsigned char *`的方法?

来自分类Dev

使用Python将字符串中的字符转换为多个字符

Related 相关文章

  1. 1

    将自动(字符串)转换为D中的char

  2. 2

    将Python字符串转换为float仅在PyInstaller中失败

  3. 3

    将Python字符串转换为float仅在PyInstaller中失败

  4. 4

    将Unicode转换为Python 2中的字符串

  5. 5

    将字符串转换为python中的词典列表

  6. 6

    将SQL输出转换为Python中的字符串

  7. 7

    将集合转换为python中的字符串

  8. 8

    将Unicode转换为Python 2中的字符串

  9. 9

    将复杂的字符串转换为python中的列表

  10. 10

    将文本转换为python中的字母字符串?

  11. 11

    在python中将%%中的字符串转换为小写

  12. 12

    将字节从for循环转换为python中的字符串

  13. 13

    Python / Selenium与比较转换为整数值的字符串时发生非常奇怪的交互

  14. 14

    在C ++中从字符串转换为双精度的奇怪之处

  15. 15

    MySQL自动将字符串转换/转换为数字?

  16. 16

    将URL编码的字符串(UTF-8)转换为Python中的字符串?

  17. 17

    如何在python 2.7中将字符串转换为字节字符串

  18. 18

    Python字符串转换为整数

  19. 19

    隐式转换为const字符串引用失败

  20. 20

    Android字符串转换为日期失败

  21. 21

    从int转换为c字符串(const char *)失败

  22. 22

    将字符串转换为我的类型的值失败

  23. 23

    UIColor转换为字符串失败,为什么?

  24. 24

    显式强制转换为类的字符串在Equals中失败

  25. 25

    在猫鼬4.6.0中将字符串转换为ObjectId失败

  26. 26

    自动将字符串转换为日期

  27. 27

    如何自动将字符串转换为Pandas中的列表或集合?

  28. 28

    一种将字符串文字自动转换为C中的`unsigned char *`的方法?

  29. 29

    使用Python将字符串中的字符转换为多个字符

热门标签

归档