Интеграция Python с другими языками
Материал из Xgu.ru
Содержание |
[править] Вопросы и ответы
[править] Можно ли вызвать Segmentation fault у интерпретатора CPython?
Да можно, и есть несколько хорошо изестных методов это сделать. Вот здесь [1] лежит официальный список готовых программ, которые валят CPython.
[править] Можно ли с помощью ctypes вызывать функции из DLL Windows?
Вообще, с помощью ctypes и windll можно делать довольно много всего, что просто так сделать в Windows довольно тяжело. Например, даже такая простая вещь как найти полный путь программы (аналог which) в самой по себе Windows сделать сложно, но с помощью python + ctypes + windll очень легко.
import ctypes def which(program): path = ctypes.create_unicode_buffer(1024) ctypes.windll.shell32.FindExecutableW( ctypes.c_wchar_p(program), None, ctypes.pointer(path) ) return path.value print which('explorer')
Другие примеры использования смотрите, например, здесь [2].
[править] Как изменить стандартный поток вывода для С-функций?
import zook import os import sys def redirect_stdout(): print "Redirecting stdout" sys.stdout.flush() # <--- important when redirecting to files newstdout = os.dup(1) devnull = os.open('/dev/null', os.O_WRONLY) os.dup2(devnull, 1) os.close(devnull) sys.stdout = os.fdopen(newstdout, 'w') zook.myfunc() redirect_stdout() zook.myfunc() print "But python can still print to stdout..."
[править] Дополнительная информация
[править] Интеграция с другими языками
[править] Си
[править] Примечания
Информация о Python на xgu.ru | ||
---|---|---|
Реализации | Cython • Psyco • PyPy | |
Веб-фреймворки | Django • Flask • Zope | |
IDE | Pydev • NetBeans | |
Курсы | Python для сетевых инженеров | |
Другое | aalib • ctypes • gevent • mpmath • pjsua • Pandas • pyparsing • virtualenv • GMPY • IPython • Jinja2 • Python и Vim • Работа с модулями в Python • SWIG • Scapy • SciPy • Работа с датой и временем в Python • Python как shell • Web и Python • Алгоритмы, сложные структуры данных и дискретная математика в Python • Анализ кода Python • Интеграция Python с другими языками • Объекты и классы в Python • Оформление кода Python • Параллелизм и конкурентное исполнение в Python • Профайлинг в Python • Работа с базами данных в Python • Работа с операционной системой в Python • Работа с сетью в Python • Работа с текстами в Python • Работа с файлами в Python • Сравнение Python с другими языками • Тестирование в Python • Типы в Python • Элементы функционального программирования в Python • Элементы языка Python |