PowerShell Python 命令行参数

PowerShell Python command-line arguments

我正在尝试 运行 PowerShell 中的 Python 脚本。在使用 sys 模块时,我偶然发现了获取 PowerShell 函数的 return 值的问题。有问题的函数是 Date -f 'dd\/MM\/yyyy' that returns 14/03/2019 并且我希望将该值用作 Python 脚本中的参数。到目前为止,我已经能够从命令行获取文字参数,例如text

如果我理解正确,您希望将命令 Date -f 'dd\/MM\/yyyy' 的输出输入到您的 python 脚本 (script.py)。

您正在寻找的是所谓的 "pipes" 或输出重定向。查看官方文档 (https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/write-output?view=powershell-6) 以下内容可能有效:

$DATE=Date -f 'dd/\MM\/yyyy'
Write-Output $DATE | python script.py

此 Python 脚本(参见 sys.argv docs):

import sys
print(sys.argv)

在 Powershell 中这样调用:

python .\test.py -date $(Date -f "dd\/MM\/yyyy")

输出:

['.\test.py', '-date', '14/03/2019']

总的来说,我建议使用比 dd/MM/yyyy 更好的日期格式 - ISO 8061 yyyy-MM-dd 会更好。