- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个用例,我需要在远程机器上运行 Linux 命令。目前,我正在使用 fabric 来实现功能。但是,我想知道使用 Shell 脚本而不是 Python 是否更好。
我的用例是设置一些服务,在 MySQL 中设置数据库,另外创建一些脚本,然后在远程机器上执行。目前,我在 Fabric 调用中嵌入了大约 50-60 行命令。
一切都必须在远程机器上执行,为此,我使用 fabric 创建了到机器的连接,并使用 run/sudo 函数运行命令。对于所有不同的命令行,我使用单独的运行方法。
如果一定要用shell脚本,我还有两种方式:
什么是实现该功能的最佳 Pythonic 方式。
最佳答案
您是否考虑过使用 paramiko ?
这是 Brandon Rhodes 的“Python 网络编程基础”中的一个简单示例:
import paramiko
class AllowAnythingPolicy(paramiko.MissingHostKeyPolicy):
def missing_host_key(self, client, hostname, key):
return
client = paramiko.SSHClient()
client.set_missing_host_key_policy(AllowAnythingPolicy())
client.connect('127.0.0.1', username='username', password='python')
for command in 'echo "Hello, world!"', 'uname -a', 'uptime':
stdin, stdout, stderr = client.exec_command(command)
stdin.close()
print repr(stdout.read())
stdout.close()
stderr.close()
client.close()
干杯,亚瑟
关于Python 最佳实践 : Whether to use subprocess/fabric calls or use a Linux script?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29665628/
#test 是 id="test" 的选择器 .test 是 class="test" 的选择器 但是您如何记住它们的位置(例如不是 .=id) 最佳答案 嗯,事实上这些东西很常见,大多数人不需要助记
Lodash 为各种函数提供别名。 例如,_.each 是 _.forEach 的别名,_.eachRight 是 _ 的别名。 forEachRight 等 从 future 维护的 Angular
有没有一种方法可以优雅地检查 EpiServer CMS 5 中是否存在页面(给定 pageId 整数)而不必捕获由 抛出的 PageNotFoundException DataFactory.Ins
我有一个服务类,它确实请求某些外部服务。那个外部服务需要sessionId,这个sessionId的存活时间是未知的(可以是几秒,可以是分钟,可以是小时,可以是天。可以是1个请求,可以是1000个请求
我在一个项目中与两位顾问合作。问题是我们已经到了一个地步,他们都无法达成协议(protocol),而且每个人都提供了不同的方法。 问题是我们有一家商店有四个部门,我们想找到在同一个数据库中与所有部门合
有人知道是否有办法找出沙箱下是否可以访问特定文件系统位置? 我想测试在正常的 Powerbox 规则下是否可以访问特定文件;即已经使用打开/保存对话框等添加到电源盒中。 我可以在触发沙箱异常之前执行此
OpenCL 1.1标准说(5.2.3): If blocking_map is CL_FALSE i.e. map operation is non-blocking, the pointer to
我有一个Powershell脚本来添加新的计划任务。它用于启动PS1文件,其中包括对本地SQL框和远程SQL框的一些SQL查询。 如果此脚本创建了日程表,则必须手动进行更改才能使其起作用:我必须设置选
有没有办法检查 session 是否存在? 我尝试过这种方法,但它总是给我一个“太棒了!”答案: $session = $this->getRequest()->hasPrevious
我尝试修改用于代码生成的 vsl 文件,以检查是否实际进入了 foreach 循环以及是否要执行初始化代码。我尝试了类似 java 的 .length > 0 但这不起作用: myMethod() {
我使用 shake 构建了一堆静态网页,然后我必须使用 sftp 将其上传到远程主机。目前,cronjob 正在运行 git pull # get possibly updated sources .
我有一个第 3 方 Java 库,我试图用 RMI 封装在一个单独的 JVM 中(因为该库具有使 JVM 崩溃的 native 调用,并且有用于在另一台机器上运行 RMI 服务器的应用程序)。 我在客
通过向函数传递文件的完整路径,例如 C:\someFolder\anotherFolder\someXML.xml,确定文件夹是否存在。有没有更聪明/更好/更优雅的方式来做到这一点?这是我的实现: P
我正在开发一个 Android 应用程序。该应用程序充当客户端。它连续向服务器发送一些数据(假设每半秒后)。服务器正在我的电脑上运行。如何从我的应用程序中检测到服务器已关闭,以便我可以通知用户?下面是
我有 4 个表: Table 1: Wilayah wilayah_id wilayah_name 1 wil
我想使用 Linq 检查一个字符串是否为回文。 更新: 我不想使用反向功能。 最佳答案 var result = Enumerable .SequenceEqual(t
我是 Android 开发的新手,我正在参加 http://developer.android.com 的培训。进入它。我对是否使用支持库感到困惑。 明确一点:我不需要支持早于 11 的 API。 情
我正在开发一个 Android 应用程序,我想在其中集成 foursquare 签到。我已经完成了我的工作,直到 field 展示。现在,当我在列表中的位置中选择一个位置时。 然后我想知道如何知道用户
无法使用 navigator.userAgent 或 navigator.platform 识别它是 linux 台式机还是 android 设备,因为某些 android 设备有字符串 linux
在我的存储库类中,我只想在 Room 表中不存在数据时才获取数据。如何检查表中是否存在任何行? 最佳答案 使用EXISTS运算符,返回1表示true,返回0表示false。 如果你想检查一些特定的行和
我是一名优秀的程序员,十分优秀!