Существует ли способ создать подобный C DLL из модуля Python?

Код ниже был протестирован в Python 3.6 и 2.7

(я думаю, это то, что вы ищете)

reader = [['1','2','3'],['11','22','33'],['111','222','333']]
csv_rows = []    
title = ['T1','T2','T3']
for row in reader:
    csv_rows.extend([ {title[i]:row[i] for i in range(len(title))} ])

print(csv_rows)

Выход

[{'T2': '2', 'T3': '3', 'T1': '1'}, {'T2': '22', 'T3': '33', 'T1': '11'}, {'T2': '222', 'T3': '333', 'T1': '111'}]
7
задан ApplePieIsGood 14 March 2009 в 13:11
поделиться

3 ответа

Смотрите на эту статью Codeproject. Один путь был бы переносом Ваши функции Python в C dll и выставил бы это вызываемому.

COM является протоколом двоичной синхронной передачи данных для решения этой проблемы. Но необходимо будет перенести этот Python dll в обертку COM. И добавьте некоторый код стороны вызова также.

6
ответ дан 6 December 2019 в 23:13
поделиться

Стандартное решение состоит в том, чтобы встроить интерпретатор Python (который уже является DLL C) в Вашем приложении.

https://docs.python.org/extending/windows.html#using-dlls-in-practice

http://docs.python.org/extending/embedding.html

3
ответ дан 6 December 2019 в 23:13
поделиться

Py2exe может генерировать COM dlls из кода Python путем компиляции и встраивания кода Python + интерпретатор. Это не делает, AFAIK, поддерживает регулярный DLLs все же. Для этого см. ответ dirkgently о встраивании Python сами.

2
ответ дан 6 December 2019 в 23:13
поделиться
Другие вопросы по тегам:

Похожие вопросы: