2017-05-27 8 views
1

古代のライブラリをPython 3.5に変換しようとしていますが、これはPythonNET経由でPython経由で呼び出すことができるC++を.NETに解析し、PInvokesを使ってLinuxでも実行できます。https://github.com/andyhebear/sharppy/tree/master/srcそれはSharpPYと呼ばれ、何年も更新されていません。それは他の多くの古代図書館に依存する別の図書館チーターを呼び出します。私がこれまでの代用品を見つけることができないのは、from tokenize import pseudoprogです.1つの関数にしか使われていません。match = pseudoprog.match(self.src(), self.pos())私はPython 3.5で同等のものを探しています。一度すべてをやり終えると、GITに更新されたコードを投稿することができます。これは変換するのが本当に苦痛でした。とても有難い。 Pythonの3.5Python 3にtokenize import pseudoprog.matchと同等のものがありますか?

from tokenize import pseudoprog 
match = pseudoprog.match(self.src(), self.pos()) 

のPython 2.7:私は解決策を見つけたと思う@Eric

+0

あなたは[ 'tokenize.py'のソースを比較しようとしたことがあり](https://hg.python.org/cpython/file/2.7/Lib/tokenize.py)2.7から3.5の間ですか? – Eric

+0

あなたが必要とする機能が何であるかを記述すれば、あなたの質問はより良くなり、SOのモデル内で少し良くなるでしょう。だから、 "どのように私はこの機能を置き換えることができます"より良いここには "どのツールxを使用する必要があります"。 –

+0

あなたがここで発見したのは、組み込みのPythonモジュールの実装の詳細によっては、悪い考えです。 3.5で対応する実装の詳細を探すのではなく、それが何をしているかを公開APIで表現できるかどうかを検討する必要があります。 – Eric

答えて

1

おかげ

import tokenize 
from tokenize import _compile 
match = _compile(self).match(self.src(), self.pos()) 
+0

それは私に似ていません。私は 'PseudoToken'が必要だと思っています – Eric

+0

申し訳ありません私は使用していたファイルに必要な変更だけを示しました - それはトークンを渡します – Matt

+0

両方のルーチンは 'psuedotoken'入力を必要とするので、2.7と3.5の間の変換のために働くコード変更が機能します。 – Matt

関連する問題