我一定是做错了。
s.sendall((str("mkd /" + folder.decode() + "/New Folder/ \r\n")).encode())有没有更好的方式来写这篇文章?
发布于 2013-01-05 16:37:32
s.sendall(b"mkd '/" + folder + b"/New Folder/'\r\n")下面是一个更健壮的版本,它使用了Python3.3中的shlex.quote() (旧版本的pipes.quote()):
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的来源。
https://stackoverflow.com/questions/14169648
复制相似问题