python - 使用 python 从 SSH 服务器上传文件(PyAutoIt 的替代品)
问题描述
我找到了一个小脚本,可以在资源管理器中选择数据以使用 PyAutoIt 上传。脚本如下所示:
autoit.win_active("Open")
sleep(2)
autoit.control_send("Open","Edit1",data_path)
sleep(1.5)
autoit.control_send("Open","Edit1","{ENTER}")
我想做同样的事情,但是来自我的 Debian GNU/Linux SSH 服务器。问题是 PyAutoIt 仅适用于 Windows。是否有任何有据可查的替代方案可供我用来执行相同的操作?
解决方案
您可以使用本机 python 和 scp
import subprocess
# Use subprocess to run 'scp' take FILE and pass it to the ssh host
subprocess.run(["scp", FILE, "USER@SERVER:PATH"])
#e.g. subprocess.run(["scp", "somefile.txt", "john@doe.org:/path/to/somefile.txt"])
请注意,您必须生成一个 ssh 密钥,以便 scp 自动获得身份验证 - 这样您就不会被要求提供密码。
或者你可能会这样做(我没有测试过这个)
import subprocess
# Use subprocess to run 'scp' take FILE and pass it to the ssh host
subprocess.run(["scp", FILE, "USER:PASSWORD@SERVER:PATH"])
#e.g. subprocess.run(["scp", "somefile.txt", "john:secretpassword@<IPADDRESSorDNSNAME>:/path/to/somefile.txt"])
推荐阅读
- javascript - 连接 2 个 css 文件
- javascript - 如何在所有 HTML 页面中一次性弹出?
- android - 错误:找不到 com.google.gms.google-services:4.2.0
- javascript - 我可以同时在本地模拟云功能和托管吗?
- ios - Firebase Analytics - 禁用,从自动跟踪中排除某些屏幕。IOS
- reactjs - 使用 react-native-print 时如何设置 HTML 样式
- jquery - $('#dlg').dialog('close') 不适用于简单的 JSP 页面
- python - 列表到熊猫字典?
- ios - 如何为 iOS 项目设置 GitLab CI
- c# - Asp Net Core 2.2 项目不能使用类核心库目标 2.2