Работа с сокетами в Python - f-строки: неверный синтаксис - PullRequest
1 голос
/ 24 января 2020

Я учусь подключаться к сокетам, отправлять и получать байты.

Я слежу за книгой и учебником. В этом руководстве gentelman форматирует строку, включающую в себя длину сообщения, а также буфер для заголовка сообщения + самого сообщения. Моя отформатированная строка выглядит так же, как в видео, но возвращается с неверным синтаксисом, указывающим на ".

msg = f"{len(msg):<{HEADERSIZE}}" + msg

SyntaxError: invalid syntax ^

Я проверил синтаксис для f -strings и это то, что он говорит:

>>> name = "Eric"
>>> age = 74
>>> f"Hello, {name}. You are {age}."

Я использую python 3.7, как в видео. - https://youtu.be/8A4dqoGL62E?t=326

import socket

HEADERSIZE = 10

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 1240))
s.listen(5)

while True:
    clientsocket, address = s.accept()
    print(address)

    msg = "Welcome to the server!"
    msg = f"{len(msg):<{HEADERSIZE}}" + msg

    clientsocket.send(bytes("Welcome to the server!"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...