-2
私はpythonでいくつかのpowershellコードを追加したいが、フォーマット関数を使うとpowershellで '%{0}'を満たし、pythonをコンパイルできない。コードを変更する意味を知りたい。
私はpythonでいくつかのpowershellコードを追加したいが、フォーマット関数を使うとpowershellで '%{0}'を満たし、pythonをコンパイルできない。コードを変更する意味を知りたい。
ダブルドット..
は範囲コンストラクタです。 0..65535
は、0から65535までの整数の配列を返します。パイプの後のパーセント記号|%
は、パイプの後のforeach-object
の略です。この場合
、あなたのPowerShellの機能
[byte[]]$bytes = 0..65535|%{0}
は、その値について65536ゼロを有するタイプbyte
のbytes
と呼ばれる配列を作成します。
文字列format
を使用してPythonからこれを呼び出そうとしている場合は、中括弧を2倍にしてエスケープする必要があります。たとえば、あなたが変数名を調整するためのPythonを使用したい場合は、あなたが使用します。あなたの答えのための
# in Python:
powershell_cmd = '[byte[]]${} = 0..65535|%{{0}}'.format('bytes')
おかげで、私は[バイト[]] $ BT = 0 65535として私powershellcodeを変更|%{ {0}}、しかしpowershellcodeは前と同じ意味を持っておらず、間違った結果を得る – user8910954