我正在使用 Python 的 subprocess 在 Python 脚本中调用 Powershell 脚本Popen
。Powershell 脚本需要两个输入参数:-FilePath
和-S3Key
. 它将文件上传到 AWS S3 服务器。如果我传入硬编码字符串,脚本就可以工作。
os.Popen([r'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe','-ExecutionPolicy','RemoteSigned','./Upload.ps1 -FilePath \"C:\TEMP\test.txt\" -S3Key \"mytrialtest/test.txt\"'])
但是,如果我尝试传入 Python 字符串变量,Powershell 脚本会出错,说它找不到文件名变量指定的文件。
filename = 'C:\TEMP\test.txt'
uploadkey = 'mytrialtest/test.txt'
os.Popen([r'C:\\WINDOWS\\system32\\WindowsPowerShell\\v1.0\\powershell.exe','-ExecutionPolicy','RemoteSigned','./Upload.ps1 -FilePath \"filename\" -S3Key \"uploadkey\"'])
任何帮助将不胜感激。谢谢。