首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >forloop TypeError:无法将字符串连接到字节

forloop TypeError:无法将字符串连接到字节
EN

Stack Overflow用户
提问于 2019-07-14 04:31:52
回答 3查看 3.5K关注 0票数 0

我是python3的新手,正在尝试将Python2.7代码转换为python3,因此我遇到了这个问题。让我知道我哪里错了。

代码语言:javascript
运行
复制
for n in range (755,767):
    tn.write(b"vlan " + str(n) + "\n")
    tn.write(b"name Python_VLAN_" + str(n) + "\n")

错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "./telnetlib_vlan_loop.py", line 30, in <module>
    tn.write(b"vlan " + str(n) + "\n")
TypeError: can't concat str to bytes**strong text**
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-07-14 04:56:06

错误状态:TypeError: can't concat str to bytes

您当前的问题是,您有bytesstr,而您正试图将它们添加到一起。在此之前,您需要使用相同的类型。

如果需要编写为strbytes,则不提供

如果使用bytes,请将代码更改为:

代码语言:javascript
运行
复制
for n in range (755,767): 
    tn.write("vlan {}\n".format(n).encode()) 
    tn.write("name Python_VLAN_{}\n".format(n).encode())

如果str只是删除encode

代码语言:javascript
运行
复制
for n in range (755,767): 
    tn.write("vlan {}\n".format(n)) 
    tn.write("name Python_VLAN_{}\n".format(n))

更新:修复了格式的拼写

票数 2
EN

Stack Overflow用户

发布于 2020-06-06 00:15:32

代码语言:javascript
运行
复制
for n in range(755,767):
    tn.write(b"vlan " + str(n).encode('ascii') + b"\n")
    tn.write(b"name Python_VLAN_" + str(n).encode('ascii') + b"\n")

这可能会对trick...hope有所帮助

票数 1
EN

Stack Overflow用户

发布于 2020-06-16 03:00:35

我处理了同样的问题,并用上面的代码在两者中用.enconde('ascii')修复了这个问题

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57022625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档