stdout
'u arayarak C
kodunuzdan yazabilirsiniz, daha sonra çıktı değerini işleyebilirsiniz.
import sys
import StringIO
buffer = StringIO.StringIO()
# redirect stdout to a buffer
sys.stdout = buffer
# call the c code with ctypes
# process the buffer
# recover the old stdout
sys.stdout = sys.__stdout__
Ancak, C koduna bir tampon geçmek daha kolay ve daha hoş olurdu ve printf
çıkış değerlerini -ing yerine sağlanan tampon bunları yazardım.
Veya daha iyisi, sen, C
kodu içinde bunun için bellek ayrılamadı, byref
bir c_char_p
geçmesi ardından Python
yılında tampon kullanmak çıkış değeri ile tampon güncelleyebilirsiniz. Belleği ayırmayı unutmayın (free
işlevi için ctypes
sarıcı yapmalısınız).
C printf'i Python'a aşırı yüklemek mi istiyorsunuz? – luc
Aşırı yükleme, hangi işletim sisteminde? – Arlaharen
Aşırı yükleme problemimi çözerse, denerim. Ubuntu 9.10 kullanıyorum. – Framester