我正在编写一个PowerShell函数,它可以接受管道输入。具体地说,我正在使用import-csv
测试它。许多参数不是必需的,这意味着CSV有时不会有这些列。对于布尔值,这是正常工作的,但是对于字符串值,缺少的CSV字段会产生字符串字段中的row对象的副本。
下面是一个示例问题参数:
[Parameter(Mandatory=$False,
ValueFromPipeline=$True,
ValueFromPipelinebyPropertyName=$True,
HelpMessage="TCP Port of the remote server")]
[Alias('Port', 'Remote Server Port')]
[string]$RemoteServerPort = "5500",
现在,如果缺少该字段,我希望值是指定的“5500”
,但我得到的却是:
$RemoteServerPort = @{Name=KG; IP=10.1.1.1; Username=Admin; Password=}
我四处找了找,但坦白地说,我甚至不确定该找什么。
这是因为您指定了valueFromPipeline=$true
,这样,如果PoSh无法通过属性名绑定参数,则会将管道对象强制为string
。您可以通过从该参数中删除valueFromPipeline=$true
并引入另一个绑定到管道对象来解决这个问题,即如下所示
function MyTestFunc() {
param(
[Parameter(ValueFromPipeline=$True)]
[object]$PipedObj,
[Parameter(Mandatory=$False,
ValueFromPipelinebyPropertyName=$True,
HelpMessage="TCP Port of the remote server")]
[Alias('Port', 'Remote Server Port')]
[string]$RemoteServerPort = "5500"
)
Write-Host "Port: $RemoteServerPort / Obj: $PipedObj"
}
$o1 = [pscustomobject]@{"Server" = "123"; "Port" = "12345"}
$o2 = [pscustomobject]@{"Server" = "1234"; "OS" = "Win3.1"}
$o1 | MyTestFunc
$o2 | MyTestFunc
将导致
Port: 12345 / Obj: @{Server=123; Port=12345}
Port: 5500 / Obj: @{Server=1234; OS=Win3.1}
详细了解幕后实际发生的情况的一种方法是使用trace-command
,如下所示
Trace-Command ParameterBinding {$o2 | MyTestFunc} -PSHost
下面看似简单的代码抛出以下错误 回溯(最近一次调用last):文件“search.py”,第48行,pageToken=page_token)。方法中的第716行执行()文件“C:\Users\Choi\AppData\Local\Programs\Python\Python37\lib\site packages\GoogleAppClient\discovery.py” raise TypeE
我有一张大桌子,我根据它们的日期把它切成许多小桌子: 我已经对dfs['2019-06-23']特定表进行了一些修改,现在我想将其保存在我的计算机上。我尝试了两种方法: 他们都提出了这个错误: get_handle()得到了一个意外的关键字参数错误 我不知道为什么会出现这个错误,也没有找到任何原因。我用这种方式保存了很多文件,但以前从未用过。 我的目标是:在修改后将此数据帧保存为csv
在我下面的代码中 我得到以下错误 TypeError Traceback(最近的调用最后)在---- TypeError:conv_layer()获得意外的关键字参数“shape” 但是当我移动class关键字并将代码用作简单的函数调用时 conv1=conv_层(x,形状=[5,5,3,32]) Erors完成了。有人能告诉我这里发生了什么吗?我的理解是,“形”这个关键词在这里一塌糊涂。
当我试图使用dataframe to_csv函数中的一些参数时,它抛出了一个TypeError,例如'TypeError:to_csv()得到了一个意外的关键字参数'doublequote' 或 我的熊猫版本是0.19。2(使用检查)我正在使用 以下官方文件基于0.19。2.尽管我有类型错误,但声明这些参数可以用作可选参数。http://pandas.pydata.org/pandas-docs/
这是错误: 我想使用像你在代码中看到的cookie,但我不能,有人能帮我吗?
我尝试使用pandas DataFrame的pivot_table方法; 但是,我收到以下错误: 上述命令摘自Wes McKinney(pandas的创建者)的《Python用于数据分析》一书