問題タブ [six-python]
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.
python - Python で Ruby プログラムの stdin と stdout を制御する
最初に注意すべき点: 私は Python プログラマーであり、Ruby についての知識はありません!
ここで、Ruby プログラムの stdin をフィードし、python プログラムでスクリプトの stdout をキャプチャする必要があります。
私はこれを試しました(4番目の解決策)、コードはpython2.7では機能しますが、python3では機能しません。python3 コードは、出力なしで入力を読み取ります。
ここで、Ruby プログラムを python 2 または 3 に結び付ける方法が必要です。
私の試み:
このコードは、バージョン間の互換性を保つために 6 つのモジュールで記述されています。
パイソンコード:
/li>ルビーコード:
/li>
ノート:
このようなことを行う別の方法は大歓迎です! (ソケットプログラミングなど)
また、パイプを標準出力として使用せず、ファイルのようなオブジェクトを使用する方が良いと思います。(tempfile
またはStringIO
またはなどのように)
python - py2exe は six.py からインポートできません
urlparse
からインポートするプログラムで py2exe を使用しようとしていsix.moves.urllib_parse
ます。プログラムは次のとおりです。
そして、ここに私の setup.py があります:
hello.py を実行すると問題なく動作します。を使用して hello.py を exe にコンパイルするpython setup.py py2exe
と、hello.exe
ファイルが生成されます。ただし、実行するhello.exe
と、次のエラーが表示されます。
ImportError: No module named urlparse
Python 2.7 を使用しています。
Python 3.4 では、KeyError: 'six.moves'
実行時にエラーが発生しますpython setup.py py2exe
。
これらのエラーの発生を防ぐにはどうすればよいですか?
python - Django と Python 6 互換モジュール
最近、Django Web アプリに取り組んでいましたが、何らかの理由で Django が Python 2.x を使用した場合にのみ機能することがわかりました。インタープリターですが、ずっとPython 3用に構成されていると思っていたので、そのようにコーディングしていました。
でテストしprint(sys.version())
たところ、Python 2.7 が出てきて驚きました。少し掘り下げた後、Django がsixモジュールを使用していることを発見しました。私の最初の質問は、なぜ Django がこれを使用するのですか? プログラマーを簡単にする以外に何か理由はありますか? 私の2番目の質問は、Python 3のように扱ってきたので、戻って純粋なPython 2になるようにコードを変更する必要がありますか? それとも関係ありませんか?
Ps six がどのように機能するかはなんとなく理解できますが、もう少し詳しく教えていただければ幸いです。
ありがとう。