【问题标题】:How to pass a variable in Python sockets?如何在 Python 套接字中传递变量?
【发布时间】:2021-05-03 06:32:51
【问题描述】:

我有带有以下代码的 python 客户端应用程序,它工作正常:

import socket
sock = socket.socket()
sock.connect(('127.0.0.1', 55555))
sock.send(b'mkdir test') # windows command
data = sock.recv(1024)
sock.close()
print(data)

我需要使用输入运算符输入命令,例如:

comm = input('Input the system command: ') # mkdir test
sock.send(b'f{comm}')

但它不起作用。我试图将 b 更改为字节,写 b'\f 之类的。有什么想法吗?

【问题讨论】:

    标签: python sockets client-server


    【解决方案1】:

    您尝试的方式,如果我是对的,您正在尝试在二进制 (b) 字符串中使用 f 字符串,但它无法完成。所以不如试试这个,

    comm = input('Input the system command: ') # mkdir test
    sock.send(b'{}'.format(comm, encoding='utf-8'))
    

    这将帮助你实现你想做的事情。

    如果这不起作用,你可以这样做,

    comm = input('Input the system command: ') # mkdir test
    sock.send(bytes(comm, encoding='utf-8'))
    

    【讨论】:

    • 谢谢!有用!我还在代码中添加了编码并具有以下内容: sock.send(bytes(comm, encoding='utf8'))
    • @AlexLargman 是的,太好了,如果这是您想要的,请接受此答案,以便其他人知道您的问题已解决
    猜你喜欢
    • 1970-01-01
    • 2019-08-30
    • 2016-07-22
    • 2011-12-20
    • 1970-01-01
    • 2013-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多