#python #c #interprocess
Вопрос:
У меня есть программа на Python для какого-то приложения. И у меня есть программа на языке Си для шифрования строки. Программа python генерирует строку, и я хочу использовать программу C для ее шифрования. Я много читал о взаимодействии между C и Python, и, похоже, это не работает. Если у кого-то есть какие-либо предложения, они будут полезны.
#Python
a="abcdefg" #Need to encrypt this
encrypted_a=encrypt_func(a)#This function is implemented in C code
//C code
#include<gmp.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char* encrypt_func(char* a)//I want to input the string a="abcdefg" from python here
{
char encrypted_string[20];
//do something
return encrypted_string;
}
Комментарии:
1. Вы можете отправить в программу C с помощью аргумента командной строки или канала. Программа на языке Си может отправить результат обратно по каналу. Посмотрите на модуль Python
subprocess
, чтобы узнать, как запустить программу на языке Си.2. Программе на языке Си нужна
main()
функция.3. Вы также можете использовать модуль CFFI Python pypi.org/project/cffi