Форум сайта python.su
0
Здравствуйте!
В python я новичек (да и в Си не далеко ушел). Постараюсь быть максимально кратким и выразить проблему наиболее четко. Некоторое время не мог решить куда лучше задать этот вопрос, на форум по Си или Python. Решил что всё таки сюда, так как Python/C API является частью документации к Python.
Необходимо встроить в GUI написанное на Cи (Qt) интерпретатор python'a.
Написание графического функционала консоли труда не составило. Сложностей с запуском и обращением к интерперетатору python в Си нет, там всё предельно просто. В ниже приведённом коде, следуя документации Python/C API, запускается интерпретатор Python в программе написанной на Си и ему посылвается простая команда “a = 4 + 4”.
#include <Python.h> int main(int argc, char *argv[]) { Py_Initialize(); PyRun_SimpleString("a = 4+4"); Py_Finalize(); return 0; }
Отредактировано Corban_Dallas (Фев. 21, 2014 14:43:14)
Офлайн
857
пример перенаправляния stderr программы в файл и его восстановление
[guest@localhost embed_stderr]$ ls
embed_stderr.c make.sh
[guest@localhost embed_stderr]$ ./make.sh
File "<string>", line 1
b =
^
SyntaxError: invalid syntax
[guest@localhost embed_stderr]$ cat stderr.txt
Traceback (most recent call last):
File "<string>", line 1, in <module>
NameError: name 'prin' is not defined
File "<string>", line 1
a =
^
SyntaxError: invalid syntax
[guest@localhost embed_stderr]$
Прикреплённый файлы:
embed_stderr.tar (20,0 KБ)
Офлайн
0
py.user.next
Большое спасибо! Конечно, не очень хочется выводить всё во внешний файл, что бы потом сразу обратно его считывать, но теперь есть от чего отталкиваться.
Офлайн
88
Посмотрите хелп к функциям Py{тип питона}_As{тип C}.
Офлайн