【问题标题】:How to pass an array of powershell to a python script如何将powershell数组传递给python脚本
【发布时间】:2020-07-01 14:42:31
【问题描述】:

我实际上是在尝试将 powershell 脚本中的 arrayList (System.Collections.ArrayList) 提供给这样的 python 脚本:
Powershell脚本

    $exampleArray= New-Object System.Collections.ArrayList
    $tabChemins.Add("test1") | Out-Null
    $tabChemins.Add("test2") | Out-Null
    $tabChemins.Add("test3") | Out-Null
    python.exe .\exampleScriptPython.py $exampleArray

Python 脚本:(我不想使用循环遍历所有元素来创建我的列表。)


    import sys
    print(sys.argv[1])
    print(sys.argv[2])
    print(sys.argv[3])


它逐个元素地给我,但我只希望它们在一个元素中,输出:
测试1
测试2
测试3

理想输出:
['test1','test2','test3']

【问题讨论】:

  • 那么print(sys.argv[1:]) 怎么样?即,值被很好地传递,你的问题似乎在于你打印它们的方式(我猜你可能想用它们做一些其他的事情)。
  • 谢谢@goodvibration 它有效!我问这个问题是因为我有多个参数要传入我真正的 powershell 脚本,但我想我会把数组放在最后。

标签: python powershell parameters logic


【解决方案1】:

似乎您可以简单地使用数组sys.argv[1:] 来完成您想做的任何事情。

如果您想将它作为单独的参数传递给函数,那么我相信*sys.argv[1:] 可以完成这项工作。

【讨论】:

    猜你喜欢
    • 2012-07-06
    • 2011-08-01
    • 2021-08-14
    • 1970-01-01
    • 2018-02-23
    • 1970-01-01
    • 2020-11-19
    • 1970-01-01
    相关资源
    最近更新 更多