python check_output调用putty psftp.exe传递文件
时间: 2023-12-12 18:02:39 浏览: 156
【免安装】直接运行 单一文件 putty.exe
可以使用Python的`subprocess`模块中的`check_output`函数来调用PuTTY的psftp.exe进行文件传输。
以下是一个示例代码:
```python
import subprocess
# 设置psftp的路径
psftp_path = "C:\\Program Files\\PuTTY\\psftp.exe"
# 设置psftp的参数
psftp_args = ["-l", "username", "-pw", "password", "hostname", "-b", "commands.txt"]
# 设置commands.txt文件,其中包含要传输的文件和目标目录
commands = [
"cd /remote/directory",
"put localfile.txt",
"quit"
]
with open("commands.txt", "w") as f:
f.write("\n".join(commands))
# 执行psftp命令
output = subprocess.check_output([psftp_path] + psftp_args, universal_newlines=True)
# 输出psftp的输出
print(output)
```
在上面的示例中,我们首先设置psftp的路径和参数,并将要执行的命令存储在commands.txt文件中。然后,我们使用`subprocess.check_output`函数来执行psftp命令,并将其输出保存在变量`output`中。最后,我们将`output`打印到控制台上。
请注意,这只是一个示例代码,你需要将其适应你的具体情况。例如,你需要将`username`,`password`和`hostname`替换为你自己的值,并使用适当的文件名和目录路径。
阅读全文