运行 来自 Python 的 WinSCP 命令
Running WinSCP command from Python
我创建了以下名称为 submitCmd.txt
的命令文件:
open myname@ftpclients.myserve.com -privatekey=C:\Users\Mike\Desktop\uploader\mykey.ppk
put C:\Users\Mike\Desktop\uploader\files2Upload\myFile.xlsx /mnt/data/myFolder/
close
exit
当我从命令行 运行 上述脚本时:
winscp.com /script=C:\Users\Mike\Desktop\uploader\submitCmd.txt
运行成功了。
但是,当我在 python 中尝试以下操作时:
cmdFile = r'C:\Users\Mike\Desktop\uploader\submitCmd.txt'
import subprocess
subprocess.run(["winscp.com", "/script=", cmdFile], shell=True)
我收到错误:
Searching for host...
Host "C" does not exist.
winscp>
您的命令将 运行 WinSCP 像这样:
winscp.com /script= C:\Users\Mike\Desktop\uploader\submitCmd.txt
什么是无效语法。 /script=
后不能有space。
这应该有效:
subprocess.run(["winscp.com", "/script=" + cmdFile], shell=True)
如果您想避免创建脚本文件,请参阅:。
我创建了以下名称为 submitCmd.txt
的命令文件:
open myname@ftpclients.myserve.com -privatekey=C:\Users\Mike\Desktop\uploader\mykey.ppk
put C:\Users\Mike\Desktop\uploader\files2Upload\myFile.xlsx /mnt/data/myFolder/
close
exit
当我从命令行 运行 上述脚本时:
winscp.com /script=C:\Users\Mike\Desktop\uploader\submitCmd.txt
运行成功了。
但是,当我在 python 中尝试以下操作时:
cmdFile = r'C:\Users\Mike\Desktop\uploader\submitCmd.txt'
import subprocess
subprocess.run(["winscp.com", "/script=", cmdFile], shell=True)
我收到错误:
Searching for host...
Host "C" does not exist.
winscp>
您的命令将 运行 WinSCP 像这样:
winscp.com /script= C:\Users\Mike\Desktop\uploader\submitCmd.txt
什么是无效语法。 /script=
后不能有space。
这应该有效:
subprocess.run(["winscp.com", "/script=" + cmdFile], shell=True)
如果您想避免创建脚本文件,请参阅: