我一定做错了。
s.sendall((str("mkd /" + folder.decode() + "/New Folder/ \r\n")).encode())
有没有更好的方法来写这个?
我一定做错了。
s.sendall((str("mkd /" + folder.decode() + "/New Folder/ \r\n")).encode())
有没有更好的方法来写这个?
s.sendall(b"mkd '/" + folder + b"/New Folder/'\r\n")
这是使用shlex.quote()
Python 3.3 的更强大的版本(pipes.quote()
在较旧的 Python 版本上):
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
来自哪里。