2017-11-09 15 views
-2

私はpythonでいくつかのpowershellコードを追加したいが、フォーマット関数を使うとpowershellで '%{0}'を満たし、pythonをコンパイルできない。コードを変更する意味を知りたい。

答えて

0

ダブルドット..は範囲コンストラクタです。 0..65535は、0から65535までの整数の配列を返します。パイプの後のパーセント記号|%は、パイプの後のforeach-objectの略です。この場合

、あなたのPowerShellの機能

[byte[]]$bytes = 0..65535|%{0} 

は、その値について65536ゼロを有するタイプbytebytesと呼ばれる配列を作成します。

文字列formatを使用してPythonからこれを呼び出そうとしている場合は、中括弧を2倍にしてエスケープする必要があります。たとえば、あなたが変数名を調整するためのPythonを使用したい場合は、あなたが使用します。あなたの答えのための

# in Python: 
powershell_cmd = '[byte[]]${} = 0..65535|%{{0}}'.format('bytes') 
+0

おかげで、私は[バイト[]] $ BT = 0 65535として私powershellcodeを変更|%{ {0}}、しかしpowershellcodeは前と同じ意味を持っておらず、間違った結果を得る – user8910954

関連する問題