使用Start-Job和ArgumentList,如何将数组和另一个变量传递给接收脚本?
如果我只需要传递单个数组
,这是有效的Start-Job -FilePath "c:\thescript.ps1" -ArgumentList (,$newArray)
试过这个,但第二个值没有在接收脚本中使用。
Start-Job -FilePath "c:\thescript.ps1" -ArgumentList (,$newArray,"x")
thescript.ps1示例:
param (
[string[]]$aMyArray,
[string]$sMyString
)
function DoWork ([string]$aItem,[string]$sMyString)
{
#worker
}
foreach($aItem in $aMyArray)
{
DoWork $aItem $sMyString
}
我目前正在使用PowerShell 2.0
答案 0 :(得分:0)
用谷歌搜索同样的问题,但最后我发现了。它相当str8fwd。虽然在所有帖子中,将数组传递给作业的解决方案是(,$ ArrayArg),如果这是唯一的参数,它可以工作(对我而言仍然很奇怪)。 虽然有多个args,一个是数组,但这对我有用:
$foo1 = @("1","2","3")
$foo2 = "foo"
Start-Job -Name Test `
-ScriptBlock {
param([string[]]$arg1,[string]$arg2)
Write-Output $arg1
Write-Output $arg1.GetType()
Write-Output "----"
Write-Output $arg2
Write-Output $arg2.GetType()
} `
-ArgumentList @($foo1),$foo2
答案 1 :(得分:0)
我必须用逗号和$ list括号括起来:
status
或具有active
范围:
import pandas as pd
import random
data = [[random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1), random.uniform(0, 1)], [random.uniform(0, 1), random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1),random.uniform(0, 1)]]
df= pd.DataFrame(data, columns=["A","B", "C", "D", "E"])
lst = ["B", "D", "E"]
df.assign(**{col:df[col]*0.5 for col in lst})