小编Set*_*eth的帖子

throw和$ pscmdlet.ThrowTerminatingerror()之间的区别?

在PowerShell中,throw $ErrorMsg和之间有什么区别$PScmdlet.ThrowTerminatingError($ErrorMsg)

它们是相同还是不同?如果它们不同哪一个更好?

powershell exception

8
推荐指数
1
解决办法
916
查看次数

Python元组...不是一个元组?逗号有什么作用?

我在课程材料中查看代码,并且必须编写一个函数,将值99添加到a listtuple.最终代码如下所示:

def f(l):
    print(l)
    l += 99,
    print(l)

f([1,2,3])
f((1,2,3))
Run Code Online (Sandbox Code Playgroud)

这被用来表示不同的东西,但我有点挂在线上l += 99,.这里做的事情,就是创建一个包含99和迭代list,以及tuple支持这样的对象的简单的"加法"来创建一个新的实例/添加了新的元素.

我真正得到的是使用语法创建的是什么element,?如果我喜欢一个分配x = 99,type(x)tuple,但如果我尝试运行x = tuple(99)的99是不是可迭代就会失败.所以有:

  • 使用语法创建某种中间可迭代对象element,
  • 是否有一个特殊的函数定义,允许调用tuple没有迭代,并以某种方式,映射到那个?

编辑:如果有人想知道为什么接受的答案是那个:我的第二个问题的解释成功了.我应该对我的问题更清楚,但这+=实际上让我感到困惑,这个答案包含了相关信息.

python tuples python-3.x

4
推荐指数
1
解决办法
519
查看次数

在Apache中的第二个请求时间记录

虽然我可以获得处理请求所花费的时间的微秒分辨率(%D),以帮助重建请求序列,我想看一下与特定页面生成的多个请求的时间相关的请求.但据我所知,%t说明符仅提供精确到最接近的秒.这使得无法重建原始事件序列.

有没有其他方法可以在我的access_log文件中获取此信息?

TIA

apache

3
推荐指数
1
解决办法
3063
查看次数

PowerShell if和else脚本

我正在编写一个脚本来启动VM,如果它当前没有运行.我知道这样做的命令,但我的语法有问题.

在此脚本中,我想选择一个虚拟机,如果它处于关闭状态,我的脚本就会启动它,但如果虚拟机处于打开状态,则脚本会显示一条消息"虚拟机正在运行".

这时我写了一个脚本,但语法不正确:

if (Get-VM | Format-Table name, state -eq running) {
    Write-Host -ForegroundColor red "VM running
}
else(start-vm -name "name")
Run Code Online (Sandbox Code Playgroud)

powershell

1
推荐指数
1
解决办法
233
查看次数

使用powershell进行条件字符串连接?

我目前正在编写一段代码,该代码组合一个字符串以根据各种信息识别一个对象。其中一些信息可能并不总是可用,我想知道是否有聪明的方法使组装更容易?

作为一个例子,我们有件$a$b$c认为建立最终的标识符。其中$b可能是空的,最终的字符串应包含由空格分隔的每个组件。一种选择是为$b字符串本身添加额外的空间,如下所示:

$a = "FirstPart"
$b = " SecondPart"
$c = "FinalPart"
Write-Output "$a$b $c"
#FirstPart SecondPart FinalPart
$b = ""
Write-Output "$a$b $c"
#FirstPart FinalPart
Run Code Online (Sandbox Code Playgroud)

另一种选择是有一个条件(可能会变得相当复杂和冗长):

$a = "FirstPart"
$b = "SecondPart"
$c = "FinalPart"

if($b -eq ""){
    Write-Output "$a $c"
}else{
    Write-Output "$a $b $c"
    #FirstPart SecondPart FinalPart
}

$b = ""
if($b -eq ""){
    Write-Output "$a $c"
    #FirstPart FinalPart
}else{
    Write-Output "$a $b $c"
}
Run Code Online (Sandbox Code Playgroud)

实际上非常需要的是使用-join …

string powershell concat concatenation

0
推荐指数
1
解决办法
1012
查看次数

PowerShell Import-CSV和replace - 操作顺序

我有一个非常简单的替换功能.它通过一个IP地址列表并替换前3个八位字节.它们似乎必须按特定顺序排列,为什么?

工作:

$testips = Import-CSV Test.csv

function change_PROD_IP

{
    $PROD_oldIP = $line.NodeIP
    $PROD_newIP = $line.NodeIP -replace "10.245.0.","10.165.221." `
        -replace "10.245.14.","10.165.233." `
        -replace "10.245.15.","10.165.234." `
        -replace "10.245.12.","10.165.236." `
        -replace "10.245.13.","10.165.237." `
        -replace "10.245.1.","10.165.222." `

    Add-Content -Path Production_Nodes_Test.csv -Value "$PROD_Oldip, $PROD_newIP"
}

foreach ($line in $testips) {change_PROD_ip}
Run Code Online (Sandbox Code Playgroud)

但如果我采取最后一行并把它放在第一位:

-replace "10.245.1.","10.165.222." `
Run Code Online (Sandbox Code Playgroud)

然后它开始使用这一行来替换10.245.12/13/14即第三个八位字节以1开头的任何东西.为什么会这样,因为它是带有"."的显式定义.1之后?

powershell

0
推荐指数
1
解决办法
33
查看次数