Python 当我写;dir";我得到这个错误类型error:descriptor';编码';需要一个';str';原因是;如果len(str.encode(cmd))>;0
使用Python 当我写;dir";我得到这个错误类型error:descriptor';编码';需要一个';str';原因是;如果len(str.encode(cmd))>;0,python,python-2.7,python-3.x,sockets,Python,Python 2.7,Python 3.x,Sockets,使用原始输入而不是输入(参见)。查看input返回给您的值和类型 而且str只接受一个参数(在if中向下几行)。使用raw\u input而不是input(cf)。查看input返回给您的值和类型 另外,str只接受一个参数(在if中向下几行)。我还有一个client.py文件,如果需要,请告诉我!你应该发布完整的错误!!发布客户端不会造成任何伤害,只要它相当小。你应该决定使用哪个版本的python。您的目标是2/3交叉兼容的产品吗?字符串处理(尤其是编码/解码方面)明显不同,希望在这两个版本中
原始输入
而不是输入
(参见)。查看input
返回给您的值和类型
而且
str
只接受一个参数(在if
中向下几行)。使用raw\u input
而不是input
(cf)。查看input
返回给您的值和类型
另外,
str
只接受一个参数(在if
中向下几行)。我还有一个client.py文件,如果需要,请告诉我!你应该发布完整的错误!!发布客户端不会造成任何伤害,只要它相当小。你应该决定使用哪个版本的python。您的目标是2/3交叉兼容的产品吗?字符串处理(尤其是编码/解码方面)明显不同,希望在这两个版本中都能实现某些功能可能需要额外的工作。请不要滥用标记:这里没有关于子进程
,也没有关于python-3.x
(因为您导入了打印函数
),并且当您的代码使用套接字时,你的问题根本不相关。我还有一个client.py文件,如果需要请告诉我!你应该发布完整的错误!!发布客户端不会造成任何伤害,只要它相当小。你应该决定使用哪个版本的python。您的目标是2/3交叉兼容的产品吗?字符串处理(尤其是编码/解码方面)明显不同,希望在这两个版本中都能实现某些功能可能需要额外的工作。请不要滥用标记:这里没有关于子进程
,也没有关于python-3.x
(因为您导入了打印函数
),并且当您的代码使用套接字时,您的问题一点也不相关。谢谢您,先生,如果我还有任何错误,我会告诉您的。现在我得到这个错误“TypeError:str()最多接受1个参数(给定2个)…我知道你在上面提到str只能接受一个参数,但是你能告诉我如何解决这个问题吗?也许你可以阅读上的文档,谢谢你,先生,如果我还有任何错误,我会告诉你的。现在我得到这个错误“TypeError:str()最多接受一个参数(给定2个)…我知道你上面提到str只能接受一个论点,但你能告诉我如何解决这个问题吗?也许你可以阅读和上的文档
from __future__ import print_function
import socket
import sys
def socket_create():
try:
global host
global port
global s
host = ''
port = 9999
s = socket.socket()
except socket.error as msg:
print("Socket creation error: " + str(msg))
def socket_bind():
try:
global host
global port
global s
print("Binding socket to port: " + str(port))
s.bind((host,port))
s.listen(5)
except socket.error as msg:
print("Socket binding error: " + str(msg) + "\n" + "Retrying...")
socket_bind()
def socket_accept():
conn, address = s.accept()
print("Connection has been established | " + "IP " + address[0] + "| Port " + str(address[1]))
send_commands(conn)
conn.close()
def send_commands(conn):
while True:
cmd = input()
if cmd == 'quit':
conn.close()
s.close()
sys.exit()
if len(str.encode(cmd)) > 0:
conn.send(str.encode(cmd))
client_response = str(conn.recv(1024), "utf-8")
print(client_response, end ="")
def main():
socket_create()
socket_bind()
socket_accept()
main()