問題タブ [python-bindings]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - Python バインディングを C# に追加するには?
Python から C を呼び出したい場合は、次のようなモジュールを記述します。
http://docs.python.org/extending/extending.html
さて、質問があります:
Python で使用するモジュールを C# で作成したいと考えています。
C# をネイティブ Python と対話させるにはどうすればよいですか?
(注: Python.NET や IronPython には興味がありません)。
python - Cython バイトから C char*
Python 3 で使用できるように、CPython に Cython 拡張機能を記述して mcrypt ライブラリをラップしようとしています。
失敗しているコードは次のとおりです。
ここで、Cython のドキュメントを理解しているように、3 行目の割り当ては、バッファーの内容 (Python 3 のオブジェクト) を C 文字列ポインターにコピーする必要があります。これは、メモリを割り当てることも意味すると思いますが、この変更を行ったとき:
それはまだセグメンテーション違反でクラッシュしました。mcrypt_generic の内部でクラッシュしていますが、プレーンな C コードを使用すると問題なく動作させることができるため、Cython がここで C データをどのように処理しているかについてよく理解していないことがあるはずです。
助けてくれてありがとう!
ETA : 問題は私の側のバグでした。私はあまりにも多くの時間起きていた後にこれに取り組んでいました (それは私たち全員がある時点で行ったことではありませんか?) と、何かばかげたことを見逃していました。私が今持っているコードは次のとおりです。
暗号化を行うためのコピーを作成し、次に戻り値への 2 番目のコピーを作成するため、これはおそらく世界で最も効率的なコードではありません。ただし、それを回避できるかどうかはわかりません。新しく割り当てられたバッファを取り、それをバイト文字列としてインプレースで Python に返すことができるかどうかわからないからです。しかし、機能する機能ができたので、ブロックごとの方法も実装して、暗号化または復号化のために反復可能なブロックを提供し、ソース全体がなくても実行できるようにします一度にすべての宛先をメモリ内に保存する---そうすれば、任意の時点で最大3つのコピーをメモリに保持することを心配することなく、巨大なファイルを暗号化/復号化できます...
助けてくれてありがとう、みんな!
python - ブロックしてPythonにコールバックする可能性のあるC関数の前にGILを解放することは可能ですか?
ブロッキング操作 (選択) を実行し、着信メッセージを処理する C 関数をラップしています。私の理解では、C 関数がブロックされる場合、他のスレッドの実行を許可しながらそれを呼び出す正しい方法は次のとおりです。
ただし、この関数がパラメーターとしてコールバック ポインターを受け取ることがあります。このコールバックは、C 関数によって前処理された受信メッセージを処理する際に呼び出されます。このコールバックを を呼び出す関数にラップすることに成功PyEval_CallObject()
し、Python コールバックを渡すことができました。
スレッドのサポートを追加しているので、同時にできるかどうか疑問に思っています:
- このブロッキング操作を呼び出す前に GIL を解放してください。
- このブロッキング操作で安全に Python インタープリターにコールバックします。
これは問題を引き起こしますか?もしそうなら、それを回避する方法はありますか?
ありがとう。
swig - バインディングソフトウェア
SWIG以外にLanguageBindings用のソフトウェアはありますか?また、どれが最も効率的ですか?C++からPythonへのバインディングの効率を探しています。
swig - PyPy-SWIG-QuickFixミックス
PyPyには、特にCPython C APIに関して、いくつかの互換性の制限があります。
プリコンパイルされたSWIGバインディングに付属するQuickFixパッケージを使用しており、PyPyでの使用を検討しています。私はCAPIとSWIGに精通していないので、私の質問は次のとおりです。
- PyPyのCAPI互換性の制限は、SWIGでの動作を妨げますか?理由を説明していただけますか?
- 特にPyPyで動作するには、SWIGバインディングを再コンパイルする必要がありますか?それは可能ですか?どのように?
vlc - VLC の Python バインディングを使用して単一のムービーを繰り返す: psz_name とは
1 つのムービー ファイルを動的に繰り返し再生する小さなアプリケーションを作成しようとしています。これらのVLC-Pythonバインディングを使用して、Pythonで作成しました
これはそれほど難しいことではないと思います。ドキュメントが非常にまばらですが、画面に何も表示されずに映画をフルスクリーンで表示したり、再生したいファイルを変更したりすることもできます。私ができないのは、単純に 1 つの映画を繰り返すことです。
次のコードを使用します。
--repeat-tag ここに:
ここに「--repeat」タグ:
self.media = self.vlc_inst.media_new(NEW_VIDEO_NAME + str(currentVideoN) + VIDEO_EXTENSION, '--repeat')
これらの繰り返しタグは何もしていないようです。Instanceクラスには関数vlm_set_loop (self, psz_name, b_loop)がありますが、mrl がどうあるべきかわかりません。元のコードでは、char-array (文字列) である必要があることがわかりましたが、これがどのような文字列であるべきかわかりません。
手がかりを持っている人はいますか?
python - CollabNet の python svn バインディングの代替手段は何ですか?
CollabNetが提供するpython svnバインディングの代替手段は何ですか? 問題は、Python で Windows バージョンを実行するように構成できないことです。さまざまなフォーラムで書かれたことを実行しましたが、うまくいきませんでした。
せいぜい完全に python で書かれたパッケージです - コンパイルの問題はありません。私はpysvnを知っていますが、サーバー側 ( svnlookなどの提供されたリポジトリ パスに基づく) ではなく、クライアント側の機能 (チェックアウトされたコードに基づく) があるようです。
python - Selenium と Python のバインディングを使用してマウスオーバー (要素の上にカーソルを合わせる) を実行する方法はありますか?
hereを読むと、メソッドを持つRenderedWebElement
クラスがあったようです。hover
ただし、これは Java 専用に作成されたものであり (Python バインディングのドキュメントを検索しても役に立ちませんでした)、Java では非推奨になりました。
Aは、オブジェクトを使用して実行することも、オブジェクトを使用してhover
実行することもできません。action_chains
WebElement
Pythonでこれを行う方法についてのアイデアはありますか? 私はここにいましたが、使用RenderedWebElement
しているため、あまり役に立ちません。
私が使用している: Python 2.7、Windows Vista、Selenium 2、Python バインディング
編集:オブジェクトのメソッドmouse_over
はありselenium.selenium.selenium
ますが、スタンドアロン サーバーが既に実行されていないとインスタンスを作成する方法がわかりません。
編集私のように誤解がある場合に備えて、回答としてマークされた返信のコメントを確認してください。
python - Python - Selenium2では、タイムアウト例外を与える前に、ページをロードするときにwebdriverインスタンスが待機する時間を設定する方法は?
以下に示すように、タイムアウトを3番目のパラメーターとして使用してWebドライバーをインスタンス化することで試しました。
次に、ドライバーを使用してWebページを取得しました
ただし、ページが読み込まれるまで無期限に待機します。WebDriverWait(self.driver, 3)
self.driver が webdriver インスタンスである場所も試してみましたが、役に立ちませんでした。
OS-Windows Vista ; Python 2.7; セレン2; Python-Selenium バインディング 2.8
何か案は?
EDIT:Pythonには存在しないようで、同じリクエストがすでに入れられています