Использую Python3. Задача записать данные в файл и послать сигнал о их готовности. Другая прога открывает файл и он оказывается пустой.
Порылся на форумах добавил строку
ftxt.flush()
- ничего не поменялось.
Порылся еще, добавил
os.fsync(ftxt.fileno())
- в файле появились данные, но не все. Поставил задержку 5 секунд - объем записанных данных не изменился.
Пробовал
txt = open(name,"w",0)
- python выдает ошибку
ValueError("can't have unbuffered text I/O",)
. На форумах пишут, что из-за Unicode в python3 открыть файл без буфера нельзя.
Пробовал еще через
print(name,file=ftxt,flush=True)
- не помогло!
Привожу код:
ftxt = open(name,"w")
ftxt.write(strg)
ftxt.flush()
os.fsync(ftxt.fileno())
import time
time.sleep(5)
ftxt.close
import socket
PORT = 33333
IP = "192.168.3.116"
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
msg = "User::Git.load_in \"" + name + "\""
sock.sendto(msg.encode('utf-8'), (IP, PORT))
sock.close
Есть какие идеи?