我有一些C代碼,我已經在Python中進行了擴展。擴展的C代碼有一個函數,它將一些結構附加到二進制文件中:Python和C文件同時讀取/寫入
void writefunction(const struct struct1* some,const u_char* struct2){
f=fopen('save.bin',"ab");
if(f==NULL){
printf("Unable to open file");
exit(-1);
}
fwrite(some,sizeof(struct struct1),1,f);
fwrite(struct2,sizeof(u_char),4,f);
fclose(f);
}
現在我已經在Python中導入了代碼。我想在Python中啓動兩個線程:一個將運行此writefunction(),另一個將讀取同一個文件。寫函數在一個線程中正常工作,但從文件讀取的Python函數不起作用。
我在做什麼錯?
爲什麼你想這樣做嗎?你只是試圖將數據從一個線程傳遞到另一個線程,還是有你寫文件的原因? – steveha 2012-04-14 04:40:52
什麼是你的Python代碼,什麼不工作? – 2012-04-14 05:08:03
Python代碼只是文件讀取的代碼。我想在線程中運行C和python函數。這是因爲c寫功能正在寫一些只能由c完成的事情。 – 2012-04-14 05:17:27