簡體   English   中英

如何:通過 Powershell 將參數傳遞給 Python 腳本

[英]How to: Pass Arguments to Python Script via Powershell

我試圖通過 Powershell 將 2 個參數傳遞給 python 腳本。

代碼:

$env:PATHEXT += ";.py"

[Environment]::SetEnvironmentVariable("Path", "$env:Path;c:\Program Files\lcpython15\", "User") 

$args1 = "Test1"
$args2 = "Test2"
$Python_SetAttrib = "c:\ProgramData\set_cust_attr.py "

python $Python_SetAttrib $args1 $args2

USAGE FROM CMD.exe: 
c:\ProgramData\set_cust_attr.py <custom attribute name> <custom attribute value>

錯誤:

PS C:\ProgramData> python $Python_SetAttrib + $args1 +  $args2
usage: c:\ProgramData\set_cust_attr.sh <custom attribute name> <custom attribute value>
OR
usage: c:\ProgramData\Opsware\set_cust_attr.sh --valuefile <path to file with value     in     it> <custom attribute name>

python.exe : Got more than one custom attribute name.
At line:1 char:7
+ python <<<<  $Python_SetAttrib + $args1 +  $args2
    + CategoryInfo          : NotSpecified: (Got more than one custom attribute     name.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

Unhandled exception in thread started by 
Traceback (most recent call last):
  File ".\client\__init__.py", line 88, in pumpthread
  File "C:\Program Files\lcpython15\lib\site-packages\pythoncom.py", line 3, in ?
    pywintypes.__import_pywin32_system_module__("pythoncom", globals())
  File "C:\Program Files\lcpython15\Lib\site-packages\win32\lib\pywintypes.py", line     68, in __import_pywin32_system_module__
    import _win32sysloader
ImportError: No module named _win32sysloader

知道了! 該死的單引號.....

$env:Path += ";c:\Program Files\lcpython15";
$env:PATHEXT += ";.py"; 
$arg1 = "Test3" 
$arg2 = "Testing" 
$arg3 = 'c:\ProgramData\set_cust_attr.py' 
python $arg3 $arg1 $arg2    

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM