【发布时间】:2017-11-09 03:13:40
【问题描述】:
我想在python中添加一些powershell代码,但是当我使用format函数时遇到'%{0}',然后无法编译python。所以我想知道改变我的代码的意思
【问题讨论】:
我想在python中添加一些powershell代码,但是当我使用format函数时遇到'%{0}',然后无法编译python。所以我想知道改变我的代码的意思
【问题讨论】:
双点.. 是一个范围构造函数。 0..65535 将返回一个从 0 到 65535 的整数数组。管道后的百分号 |% 是管道后 foreach-object 的简写。
在这种情况下,你的 powershell 函数
[byte[]]$bytes = 0..65535|%{0}
创建一个名为bytes、类型为byte 的数组,其值有65536 个零。
如果您尝试使用字符串 format 函数从 Python 调用它,那么您需要通过加倍来转义大括号。例如,如果你想使用 Python 来调整变量名,你会使用:
# in Python:
powershell_cmd = '[byte[]]${} = 0..65535|%{{0}}'.format('bytes')
【讨论】: