59 lines
1.4 KiB
Python
59 lines
1.4 KiB
Python
"""Получение сырых данных из различных источников. Работа с файлами"""
|
||
import datetime
|
||
import os.path
|
||
|
||
# from PyQt5.QtSerialPort import QSerialPort
|
||
|
||
|
||
# def on_read():
|
||
#
|
||
#
|
||
#
|
||
# # создание соединения с устройством для передачи данных
|
||
# serial = QSerialPort()
|
||
# serial.setBaudRate(115200)
|
||
# serial.readyRead.connect(on_read)
|
||
|
||
|
||
def get_data_bin(file_name, data_in):
|
||
"""
|
||
Получение данных из бинарного файла
|
||
:param file_name: файл
|
||
:param data_in: объект модели данных для отрисовки
|
||
:return: массив данных
|
||
"""
|
||
f = open(file_name, 'rb')
|
||
size = os.path.getsize(file_name)
|
||
chunk = f.read(size)
|
||
data_in.data_length = int(size / 32)
|
||
data_in.update_data(data_in.data_length)
|
||
f.close()
|
||
return chunk
|
||
|
||
|
||
def write_file():
|
||
"""
|
||
Запись файла
|
||
"""
|
||
# создание папки data(если её нет)
|
||
if not os.path.isdir("data"):
|
||
os.mkdir("data")
|
||
|
||
file_name = datetime.datetime.now().strftime('%d%m%y%H%M%S')
|
||
file = open('data/' + file_name + '.txt', 'wb')
|
||
return file, file_name
|
||
|
||
|
||
def write_in_file(file, rx):
|
||
file.write(rx)
|
||
|
||
|
||
def close_file(file):
|
||
"""
|
||
Закончить запись и закрыть файл
|
||
"""
|
||
if file != "":
|
||
file.close()
|
||
|
||
return ""
|