Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 19, 2019 09:48:38

PEHDOM
Зарегистрирован: 2016-11-28
Сообщения: 2196
Репутация: +  294  -
Профиль   Отправить e-mail  

Автозагрузка

delvin-fil
Да ладно! Ты серьезно?
Я прекрасно помню километровый батник
да я тоже много чего подобного помню, из последнего у нас еще года 3 назад вся почта нацбанка(с нашей стороны етественно, а не нацбанка) на батниках работала(прием, отправка, сортировка, упаковка\раскрытие конверта, шифрование) но поддерживать это было то еще удовольствие, именно потому что “Там всего лишь иной подход. Много совершенно неочевидного”, и каждый раз открывая эти батники первой мыслью было: “какой идиот это все писал и как в этом разобраться?”, потом прочитав пару минут : “Пляя это же я писал лет пять назад”…



==============================
Помещайте код в теги:
[code python][/code]
Бериегите свое и чужое время.

Офлайн

#2 Ноя. 19, 2019 10:15:03

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Автозагрузка

PEHDOM
“Пляя это же я писал лет пять назад”…
👍



 import __hello__

Офлайн

#3 Ноя. 19, 2019 21:13:47

jedo73
Зарегистрирован: 2019-11-13
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозагрузка

так с) попытался запилить скрипт и сделать по крону в винде с помощью Git Bash но почему то не выходит…
остановился пока что на питоне. Вот такой вопрос как все таки заставить эту строку из каждого отчета переносится в таблицу своеобразную.
Сварганил выгрузку main.py содержания отчета … он мне дает данные как их отправить в другой файл типо таблицы помимо копипаста не пойму…И как же заставить каждую новую строку из отчета вносится в следующую строку файла таблицы не теряя предыдущий вариант…

Офлайн

#4 Ноя. 19, 2019 21:22:54

jedo73
Зарегистрирован: 2019-11-13
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозагрузка

хай с ним пока не понял буду читать ткинтер..
пошел глубже до pyqt5 сделал форму открытия файла даже открывает чудеса….
но вот же не задача а как отсеить в тексте инфу не пойму…
посути сделать хотябы в этом окне печать выводимого на бумагу и вывод не всего содержимого а то что нужно… пытался задать промежуток
s = f.read(134)
print(1.0, s)
with f:
data = f.read()
self.textEdit.setText(data)
он конечно мне выводит на 134 символа…. а нужно то там с 20 по 40, с 80 по 130 (пример)
если есть мысли подскажите плиз буду признателен.
Ах забыл сказать делаю на питоне по причине того чтобы юзверь не мог файл менять сам…

Прикреплённый файлы:
attachment qf.py (1,3 KБ)

Офлайн

#5 Ноя. 19, 2019 22:44:29

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Автозагрузка

jedo73
хай с ним пока не понял буду читать ткинтер.
Ну выскажу свое мнение. У вас проблемка пока с общими понятиями связанными с программными делами. Читать tkinter и qt вам вредно.

Примеры
jedo73
как все таки заставить эту строку из каждого отчета переносится в таблицу своеобразную.
Что такое по вашему строка в файле? Вообще просто в файле строк нет, это последовательность байтов. Для текстовых файлов принято вставлять спецсимвол перевод стоки. Методы питона и текстовые редакторы показывают это дело как текст разделенный на строки. Если у вас html то там в принципе нет разделения на строки, точнее там есть </br> с примерно тем-же смыслом а сами переводы строк не используются. Вы пишете про строку из отчета, а там их в принципе нет…

Я вам пишу - покажите файл, чтобы проверить как он устроен. В ответ ничего.

Идем дальше, переносится в таблицу своеобразную. Но в питоне нет типа таблица! Хотите писать в файл? Но в операционной системе тоже нет никаких таблиц. Есть некоторые форматы файлов в большей или меньшей степени напоминающие таблицы например CSV,TSV. А может вы имели ввиду экселовские таблицы? Таблицы аксесса? таблицы sqlite? Это все разные форматы. Работать с ними надо разными способами. Я вас просил, дайте пример что вы хотите получить. В ответ молчание.


jedo73
Ах забыл сказать делаю на питоне по причине того чтобы юзверь не мог файл менять сам…

Опять непонятки. Какой файл надо защитить? Программу? Исходные данные? Результаты объединения? А самое главное как использование языка питон может повлиять на доступность файла? Помоему вообще никак.
jedo73
если есть мысли подскажите плиз буду признателен.
Не нужен вам qt и прочие премудрости. Вам надо с самыми азами разбираться.
Решите первую задачу. Считайте из одного файла данные, ну например в список питона. Так чтобы командой print оно нормально выводилось. Это будет уже треть нужной вам работы.



Отредактировано doza_and (Ноя. 19, 2019 22:46:10)

Офлайн

#6 Ноя. 20, 2019 00:07:25

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Автозагрузка

doza_and
покажите файл, чтобы проверить как он устроен. В ответ ничего.
У него есть файлы вот такой структуры(он на первой странице показал)
 <html><body>
<font size='2pt'><font face='Verdana','Arial','Arial'><br><br>
efector dualis - efector dualis :: Отчет проверки сохранен: 20191028_152626<br>—————————————————————————————<br><br>
<img src= ‘./20191028_152626.bmp’ border='0'>
</body></html>
Есть вот эта книжка, где все описано.

doza_and
пример что вы хотите получить.
Хочет на выходе html вида:
 <html><body>
efector dualis - efector dualis :: Отчет проверки сохранен: 20191028_152626<br>—————————————————————————————<br>
<img src= ‘./20191028_152626.bmp’ border='0'>
efector dualis - efector dualis :: Отчет проверки сохранен: 20191101_152627<br>—————————————————————————————<br>
<img src= ‘./20191101_152627.bmp’ border='0'>
</body></html>
Но не только файл, чтоб еще и браузер(изначально на tkinter, теперь на pyqt) для этого файла был, показал ему эту страницу красиво.

doza_and
Какой файл надо защитить?
Он имеет ввиду, что исходные страницы должны сохраниться, только не умеет выразить.



 import __hello__

Офлайн

#7 Ноя. 20, 2019 00:39:28

delvin-fil
Зарегистрирован: 2015-11-27
Сообщения: 95
Репутация: +  4  -
Профиль   Отправить e-mail  

Автозагрузка

jedo73
он конечно мне выводит на 134 символа

 <html>
<body>
<font size='2pt'><font face='Verdana','Arial','Arial'><br><br>
efector dualis - efector dualis :: Отчет проверки сохранен: 20191028_152626<br>—————————————————————————————<br><br>
<img src= ‘./20191028_152626.bmp’ border='0'>
</body></html>

делаем
 import re
f = open('report_1.html')
datas = f.read()
datas = datas.replace('<br><br>', '')
datas = datas.replace('<br>', '\n')
datas = datas.replace('<img src=', 'image file')
datas = datas.replace('border=\'0\'>', '')
datas = re.sub('<[^>]*>', '', datas)
print (datas)
Получаем
 efector dualis - efector dualis :: Отчет проверки сохранен: 20191028_152626
—————————————————————————————
image file ‘./20191028_152626.bmp’



 import __hello__

Отредактировано delvin-fil (Ноя. 20, 2019 00:40:51)

Офлайн

#8 Ноя. 20, 2019 06:09:25

jedo73
Зарегистрирован: 2019-11-13
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозагрузка

doza_and

“Считайте из одного файла данные, ну например в список питона. Так чтобы командой print оно нормально выводилось. Это будет уже треть нужной вам работы.”

Это уже давно сделал, если бы задача была в просмотре файла, как и писал ренее плюнул бы на все поставил appserver, заставил отчеты идти в www, создал бы юзера на пк порезал ему доступ к папкам и тд. Вуаля у нас в IE на 127.0.0.1 прекрасный список всех отчетов, даже просмотр!!!

“Есть некоторые форматы файлов в большей или меньшей степени напоминающие таблицы например CSV,TSV. А может вы имели ввиду экселовские таблицы? Таблицы аксесса? таблицы sqlite? Это все разные форматы. Работать с ними надо разными способами. Я вас просил, дайте пример что вы хотите получит”

Не имел в виду ексель, там уже как и писал ранее делал макрос который худо бедно что то делал.. но это не то ибо файл может править юзер…
SQL хотел изначально конечно запилить это все в БД, там запросами это все пинать… но это мне удобно а не юзеру
Конечно могу Вас не правильно понять, но уроки по питону смотрел читал и чего хуже все уроки писал в ручную, так что с некоторым функционалом знаком.

“Идем дальше, переносится в таблицу своеобразную. Но в питоне нет типа таблица”
from tabulate import tabulate ….как-то так

Отредактировано jedo73 (Ноя. 20, 2019 06:09:38)

Офлайн

#9 Ноя. 20, 2019 06:17:24

jedo73
Зарегистрирован: 2019-11-13
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Автозагрузка

Примерно сейчас у меня вот так

file_name = fd.askopenfilename()
# f = open(file_name) # закоментить
text.configure(state='normal')
text.insert(END, file_name)
text.configure(state='disabled')

f = open(file_name, encoding='utf_16_le') # вот это раскоментировать

s = f.read(134)
print(1.0, s)

s1 = f.read(15) # data/time
text1.configure(state='normal')
text1.insert(1.0, s1)
text1.configure(state='disabled')

s2 = f.read(100)
print(1.0, s2)

s3 = f.read(32) # img
text2.configure(state='normal')
text2.insert(1.0, s3)
text2.configure(state='disabled')

s4 = f.read(56)
print(1.0, s4)

s5 = f.read(20) # model
text3.configure(state='normal')
text3.insert(1.0, s5)
text3.configure(state='disabled')

s6 = f.read(78)
print(1.0, s6)

s7 = f.read(30) # object type
text4.configure(state='normal')
text4.insert(1.0, s7)
text4.configure(state='disabled')

Офлайн

#10 Ноя. 20, 2019 07:57:48

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Автозагрузка

delvin-fil
У него есть файлы вот такой структуры
:):):) Вы так четко все расписали что я подумал поначалу что это вы сами себе под двумя никами пишете. Потом понял что потерял хватку, не разглядел внутри текста пример исходника.

jedo73
from tabulate import tabulate ….как-то так

Вот смотрите. Вам delvin-fil дает четкую постановку и решение задачи. Но в его понимании таблица это красиво выполненный html файл который покажет его как последовательность броузер.

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

Если вы в qt будете делать таблицу то это еще один способ….

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

jedo73
s1 = f.read(15) # data/time
такой подход очень уязвим к модификации источника данных (добавится пробел и все пропало). По спецификации html пробелы в служебных полях не влияют на внешний вид, источник данных может их насовать в любом месте. На мой взгляд его сложно поддерживать. Те через год вы не вспомните где что.
Если вы хотите разделить данные то воспользуйтесь модулем lxml



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version