首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python sendall with variables and encode()

Python sendall with variables and encode()
EN

Stack Overflow用户
提问于 2013-01-05 15:24:29
回答 1查看 974关注 0票数 0

我一定是做错了。

代码语言:javascript
复制
s.sendall((str("mkd /" + folder.decode() + "/New Folder/ \r\n")).encode())

有没有更好的方式来写这篇文章?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-05 16:37:32

代码语言:javascript
复制
s.sendall(b"mkd '/" + folder + b"/New Folder/'\r\n")

下面是一个更健壮的版本,它使用了Python3.3中的shlex.quote() (旧版本的pipes.quote()):

代码语言:javascript
复制
cmd = "mkd {}".format(shlex.quote(posixpath.join(folder, "New Folder")))
s.sendall(cmd.encode() + b"\r\n") # send as utf-8

后者假定folder是Unicode字符串。如果folder是一个字节对象,那么您不应该盲目地使用folder.decode(),因为不能保证folder被编码为utf-8。是否可以使用os.fsdecode()来解码它取决于folder的来源。

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

https://stackoverflow.com/questions/14169648

复制
相关文章

相似问题

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