Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

Открыть новую тему     Написать ответ в эту тему

Adm10



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здесь обсуждается всё, что связано с использованием Python: программирование, библиотеки, ресурсы и другие вопросы

Python


Python - высокоуровневый язык программирования общего назначения с динамической типизацией и автоматическим управлением памятью, ориентированный на повышение производительности разработчика, читаемости кода и его качества, а также на обеспечение переносимости написанных на нём программ

С чего начать?
Простой, понятный и вместе с тем грамотный ресурс на русском языке: pythonworld.ru + самоучитель
Библия PEP8

Всего записей: 35 | Зарегистр. 13-10-2006 | Отправлено: 15:48 16-06-2007 | Исправлено: useretail, 21:51 22-06-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235
:)

Код:
 
Traceback (most recent call last):
  File "example_2.py", line 52, in <module>
    wtset=pywaves.wavetrans1d(data, waves, scalevals=scalevals)
  File "F:\Python\LIB\Wavelet\PyWaveletPeakID.py", line 192, in wavetrans1d
    starti=[[0]*(w.shape[0]//2)+list(range(n-w.shape[0]+1)+[n-w.shape[0]]*(w.shape[0]//2)) for w in waveset]
  File "F:\Python\LIB\Wavelet\PyWaveletPeakID.py", line 192, in <listcomp>
    starti=[[0]*(w.shape[0]//2)+list(range(n-w.shape[0]+1)+[n-w.shape[0]]*(w.shape[0]//2)) for w in waveset]
TypeError: unsupported operand type(s) for +: 'range' and 'list'

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 22:03 14-09-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Моя ошибка. Скобку не туда поставил.
list(range(n-w.shape[0]+1))+[n-w.shape[0]]*(w.shape[0]//2)
Смысл в том, чтобы заменить range(...) на list(range(...))

Всего записей: 974 | Зарегистр. 14-12-2005 | Отправлено: 22:15 14-09-2024 | Исправлено: U235, 22:16 14-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235
 
походу ты сам на пред. странице ошибся :)

Код:
 
range(n-w.shape[0]+1)+[n-w.shape[0]]*(w.shape[0]//2)
надо поставить внутри list
list(range(n-w.shape[0]+1)+[n-w.shape[0]]*(w.shape[0]//2))

 
может вот так надо?
 
list(range(n-w.shape[0]+1))+[n-w.shape[0]]*(w.shape[0]//2)
 
Добавлено:
 
 
успел :)
 
Добавлено:
 
 
а про это что промолчал?
 
wavi=[list(range(w.shape[0]//2))+[w.shape[0]//2]*(n-w.shape[0]+1)+list(range(w.shape[0]//2+1, w.shape[0])) for w in waveset]
 
Добавлено:
 
 
победил!
вернее, победили :)
 
большой, пребольшой спас...
 

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 22:18 14-09-2024 | Исправлено: akaGM, 22:28 14-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не могу найти оффлайн документацию для PyWavelets?
желательно на русском, но инглиш тоже сойдёт...
пожалуйста :)
 
 
U235

Цитата:
Кстати, если работаете с  вейвлетами, то есть неплохой пакет PyWavelet
накаркал :)

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 21:57 16-09-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM на русском, думаю, ее нет в природе. На английском, если надо оффлайн, то можно скачать исходники документации c github в rst формате и преобразовать ее в html  или latex.

Всего записей: 974 | Зарегистр. 14-12-2005 | Отправлено: 22:31 16-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235

Цитата:
можно скачать исходники документации c github в rst формате
да давно уж...

Цитата:
и преобразовать ее в html  или latex
как ? :)

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 22:51 16-09-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM, если коротко, то нужно установить sphinx и еще пакеты которые он попросит, затем  запустить doc2html.bat из папки doc
в результате получилось v.1.70:  https://www.upload.ee/files/17118854/pywavelets_doc_html.zip.html
Можно поправить батник и сгенерировать latex. У меня tex сгенерировался, но в pdf преобразовался, чего-то не хватает уже pdflatex'у. А разбираться лень.  
Но есть pdf  для версии 1.20 в сети https://pywavelets.readthedocs.io/_/downloads/en/v1.2.0/pdf/
 

Всего записей: 974 | Зарегистр. 14-12-2005 | Отправлено: 04:48 17-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
U235
 
о! много, много благодырей :)
спасибо, короче...
это плюс вот эти две уворованные книжки -- у меня теперь полный джентельменский набор...

Цитата:
 
Claus Fuhrer, Jan Erik Solem, Olivier Verdier
Scientific Computing with Python - Second Edition. High-performance scientific computing with NumPy, SciPy, and pandas
 
https://www.ozon.ru/product/scientific-computing-with-python-second-edition-high-performance-scientific-computing-with-354705304/
 
Robert Johansson
Numerical Python: Scientific Computing and Data Science Applications with Numpy, SciPy and Matplotlib
 
https://www.ozon.ru/product/numerical-python-scientific-computing-and-data-science-applications-with-numpy-scipy-and-matplotlib-1595396510/

 
Добавлено:
 
 
а для matplotlib не мог бы сделать? ;)

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 11:13 17-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
а для своих русскочитающих :) друзей я нашёл:
 
Элегантный SciPy
https://www.ozon.ru/product/elegantnyy-scipy-huan-nunes-iglesias-shtefan-van-der-uolt-1515023817/
 
Цифровая обработка сигналов на языке Python | Аллен Дауни Б
https://www.ozon.ru/product/tsifrovaya-obrabotka-signalov-na-yazyke-python-allen-dauni-b-1515023442/

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 13:28 17-09-2024 | Исправлено: akaGM, 13:29 17-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
где можно посмотреть о связи великого Пу :) с другими языками?
вернее, не с языками, не с конверторами типа f2py, а с внешними бинарниками, *.dll,*.lib, *.obj, если такое вообще возможнo...

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 00:47 18-09-2024
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Оно?

Всего записей: 4968 | Зарегистр. 18-09-2018 | Отправлено: 07:27 18-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MBK2
 
ага, спасибо,
особо умилило, что длл -- на дельфях :)
хотя стринги -- последнее что я хотел бы передавать...
 
походу не труднее cbind'a на фортране, щас замонстрячу тест-драйв...

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 07:59 18-09-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM, кроме Ctypes, посмотрите еще на cffi, Cython, SWIG.  
Документацию к matplotlib  у меня собрать так сразу не получилось.  Можно запустить локальный сервер со справкой по модулям.
python -m pydoc -b
 

Всего записей: 974 | Зарегистр. 14-12-2005 | Отправлено: 08:02 18-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MBK2
 
комменты улыбнули :)
 
Добавлено:
 
 
U235

Цитата:
Документацию к matplotlib  у меня собрать так сразу не получилось.
а и ладно, спасибо...
 
мне хватит по разу заюзать нужные функи, запомню :)
 

Цитата:
python -m pydoc -b
+1
очень...
спасибо :)

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 08:10 18-09-2024 | Исправлено: akaGM, 08:18 18-09-2024
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
 
комменты улыбнули

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

Всего записей: 4968 | Зарегистр. 18-09-2018 | Отправлено: 08:32 18-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
сналёта получил индейскую хижину...
компилятор Д11.3, dcc32

Код:

{$APPTYPE CONSOLE}
library dll_for_python;
procedure writeln_from_Delphi; stdcall;
begin
//  writeln('hello from Delphi!');
end;
 
exports
  writeln_from_Delphi;
begin
end.

 

Код:

# coding: utf-8
import ctypes
 
lib = ctypes.WinDLL('dll_for_python.dll') # вот это 6-ая строка в оригинале
writelnProc = lib.writeln_from_Delphi
 
#writelnProc
 
print('done!')

 
даже с пустышкой ловлю Ось-еррор:

Код:

F:>python "python_call_Delphi_dll.py"
Traceback (most recent call last):
  File "python_call_Delphi_dll.py", line 6, in <module>
  File "E:\Python\lib\ctypes\__init__.py", line 364, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: [WinError 193] %1 не является приложением Win32

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 17:13 18-09-2024 | Исправлено: akaGM, 17:15 18-09-2024
MBK2

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM

Цитата:
 не является приложением Win32

А оно точно является приложением win32?
Не x64?

Всего записей: 4968 | Зарегистр. 18-09-2018 | Отправлено: 17:43 18-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MBK
 
кто оно? ;)
я же написал -- компилятор dcc32
 
кстати, с 32-битным VC тоже не работает, мож я чего питонского не допоставил?
 
Добавлено:
 

Код:

#include <stdio.h>
__declspec(dllexport) int /*__cdecl*/ __stdcall testcfunc();
 
int __stdcall testcfunc() {
  printf("from C-DLL\n%d");
  return 0;
}
 
--------------------------------------------------
 
import ctypes
 
lib = ctypes.WinDLL('cdll.dll')
writelnProc = lib.testcfunc
 
#writelnProc
print('done!')

 
Добавлено:
 
 
ыыы!
 
ну я и тормоз...
 
сам удав 64-метровый! :)

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 18:10 18-09-2024 | Исправлено: akaGM, 18:51 19-09-2024
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не, 64-битные длл'и тоже не читаются,
что-то я делаю не так...
 
?
 
Добавлено:
 
 
тааак...
первый же пример с сdecl отработал на "ура",
вообще наплевав на всякую разрядность...
 

Код:
 
from ctypes import *
 
lib = cdll.msvcrt # msvcrt.dll
lib.printf(b"From C dll\n")
 
ivar_Pyton = 666
lib.printf(b"printf Python int = %d\n", ivar_Pyton)
 

 
Добавлено:
 
ну да...
системные библиотеки наверняка где-то прописаны и автоматически грузятся...

Всего записей: 24637 | Зарегистр. 06-12-2002 | Отправлено: 18:17 19-09-2024 | Исправлено: akaGM, 19:03 19-09-2024
U235

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
У меня сработало, когда указал полный путь к dll, типа такого:
lib = ctypes.WinDLL(r'c:\Users\u235\test.dll')

Всего записей: 974 | Зарегистр. 14-12-2005 | Отправлено: 21:59 19-09-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Python


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru