Python: если команда и сокет - PullRequest
0 голосов
/ 06 марта 2020

У меня клиент читает текстовый файл и отправляет эти данные на сервер. Я хочу, чтобы клиент прочитал текстовый файл и увидел, совпадает ли то, что он только что прочитал, с тем, что он отправил на предыдущей итерации. Когда я запускаю функцию, программа отправляет содержимое текстового файла один раз на сервер и затем останавливается. Не пытаясь помешать отправке одного и того же снова и снова, программа работает отлично.

Я пытался переместить check = move_pos внутри и вне оператора if, но это не имеет значения.

import socket, linecache

HOST = "127.0.0.1"
PORT = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((HOST, PORT))

move_pos = ['0','0','0','0','0']

check = ['0','0','0','0','0']

while True:
    for i in range(len(move_pos)):
      pos = linecache.getline('positions.txt',i+1)
      move_pos[i] = str(pos.strip("\n"))
      linecache.clearcache()

    if move_pos != check:
        n = "\n"
        posstr = n.join(move_pos)
        s.send(posstr.encode())
        data = ''
        data = s.recv(1024).decode()
        print (data)

    check = move_pos

s.close()

Я новичок в Python, поэтому я уверен, что это это просто глупая ошибка, но я был бы признателен за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...