PowerShell Python аргументы командной строки - PullRequest
0 голосов
/ 14 марта 2019

Я пытаюсь запустить скрипт Python в PowerShell. При использовании модуля sys я сталкиваюсь с проблемой получения возвращаемого значения функции PowerShell. Рассматриваемая функция - Date -f 'dd\/MM\/yyyy', которая возвращает 14/03/2019, и я хотел бы, чтобы это значение использовалось в качестве аргумента в скрипте Python. До сих пор я мог получать буквальные аргументы из командной строки, например, text.

Ответы [ 2 ]

1 голос
/ 14 марта 2019

Этот скрипт Python (см. sys.argv документы ):

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.

1 голос
/ 14 марта 2019

Если я правильно понимаю, вы хотите, чтобы вывод команды Date -f 'dd\/MM\/yyyy' подавался в ваш скрипт на python (script.py).

То, что вы ищете, это так называемые "каналы"или выходные перенаправления.Глядя на служебную документацию (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
...