小编cas*_*n04的帖子

替换2个字符串python之间的所有文本

让我们说:

a = r''' Example
This is a very annoying string
that takes up multiple lines
and h@s a// kind{s} of stupid symbols in it
ok String'''
Run Code Online (Sandbox Code Playgroud)

我需要一种方法在"This"和"ok"之间进行替换(或者只是删除)和文本,这样当我调用它时,现在等于:

a = "Example String"
Run Code Online (Sandbox Code Playgroud)

我找不到任何似乎有效的通配符.任何帮助深表感谢.

python

12
推荐指数
4
解决办法
2万
查看次数

如何将发布数据发送到shellinabox,或使用javascript来做同样的事情

这将是一个很长的,所以提前道歉..

我正在使用shellinabox为我的团队编写基于Web的会话管理器.目前我按照我想要的方式工作,每个新连接都在另一个端口上启动一个新的shellinaboxd实例(如果需要).但PuTTY连接管理器(我们目前使用的)我无法工作的一件事是自动登录命令.建立连接后,我们会自动传递我们的凭据,然后是我们可能使用的任何其他登录后命令(cd/tmp等).

有了提琴手,我可以看到我制作的每一个按键发送根目录的帖子.例:

http://localhost:1234/?width=190&height=52&session=J793zjWa6gtKXEeV%2FeyY7g&keys=0D
Run Code Online (Sandbox Code Playgroud)

所以我认为,如果我捕获了那个会话令牌,我可以用wget或curl测试,以便将帖子数据发送到该会话.不起作用......

我的问题是,任何人都可以给我任何关于下一步尝试的指示吗?最后,对于我的POC,我想在页面上有一个按钮(我将链接嵌入到另一个页面中),这将允许我按下,并发送按键以获取字符串(我可以将字符串处理为十六进制)转换)直接到控制台视图.我显然不在这个方面,因为我不知道下一步该尝试什么.我知道shellinabox使用vt100作为它的控制台.我查看了它的JS,但找不到js中发送键击的位置.此外,一旦我打开嵌入了shellinabox的页面,我该如何拉出它正在使用的当前"会话"令牌?

任何帮助/指针将不胜感激.

html javascript css ssh vt100

6
推荐指数
0
解决办法
558
查看次数

从pexpect sendline读取输出

我有预期的工作,但是在从中打印输出时遇到了问题。在下面的测试脚本中,它创建ssh连接,然后发送sudo su-,然后输入密码,然后发送需要sudo访问权限的行(我还向其中添加了p.interact()几次)确保它是根目录)。我遇到的问题是返回我运行的命令的输出。最后,我要运行一些顶级命令,一些du -h和其他(更为复杂的)空格命令。但是目前,当它尝试打印p.before时,我得到:

Traceback (most recent call last):
File "./ssh.py", line 37, in <module>
print p.before()
TypeError: 'str' object is not callable
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的脚本(已编辑以删除通行证等)

#!/usr/bin/env python

import pexpect
import struct, fcntl, os, sys, signal

def sigwinch_passthrough (sig, data):
    # Check for buggy platforms (see pexpect.setwinsize()).
    if 'TIOCGWINSZ' in dir(termios):
        TIOCGWINSZ = termios.TIOCGWINSZ
    else:
        TIOCGWINSZ = 1074295912 # assume
    s = struct.pack ("HHHH", 0, 0, 0, 0)
    a = struct.unpack ('HHHH', fcntl.ioctl(sys.stdout.fileno(), TIOCGWINSZ , s))
    global global_pexpect_instance
    global_pexpect_instance.setwinsize(a[0],a[1])

ssh_newkey = 'Are you …
Run Code Online (Sandbox Code Playgroud)

python ssh sudo pexpect

5
推荐指数
1
解决办法
2万
查看次数

如何为我的ruby gem添加gem依赖项

我想我从根本上错过了一些东西.我正在学习红宝石,并且最近和Lita一起玩,并写了(我的第一个)一个简单的小宝石,以获得与机器人的一些方向/距离.我遇到的问题是在我的gem中放置一个gem依赖项.为了工作,我的宝石需要'rest-client'宝石.我在哪里将它放在我的代码中,以便它可用于我的Directions类?目前,要让它运行,我需要在我的机器人实际的gemfile中的gem.当我捆绑exec lita时,它显然可供我的宝石使用......但如果我从那里删除它,我无法让它在我的宝石中的任何地方工作..我错过了什么?在这里,如果有人想阅读代码并告诉我应该在哪里添加它:

https://github.com/cashman04/lita-directions

编辑:我添加了像spickermann建议的依赖.然后必须添加require'rest-client'到我的directions.rb.不完全确定这是否是正确的方法,但它现在有效.感谢spickermann的帮助

ruby gem lita

5
推荐指数
1
解决办法
1393
查看次数

从bash中的for循环中回显变量名,而不是值?

a=1
b=2
c=3

for db in $a $b $c; do
echo VARIABLE NAME
blah 
blah  
blah
Run Code Online (Sandbox Code Playgroud)

我需要这个用于我正在编写的脚本.我在变量的数据库名称的顶部设置了一些客户端名称.我正在运行ps -ef和其他一些东西,但我需要它来回显它在循环中的客户端名称.所以在上面的例子中,它会回显"a",然后是其他命令,然后是第二个循环回声"b".....等

linux bash

4
推荐指数
1
解决办法
6851
查看次数

从现有变量设置名称为string的新变量

我想尝试做类似下面的事情:

for a in apple orange grape; do
    ${!a}="blah"
done
echo $apple
blah
Run Code Online (Sandbox Code Playgroud)

可能?

bash

4
推荐指数
1
解决办法
51
查看次数

如何将命令的一部分作为变量bash传递?

a="grep ssh | grep -v grep"
ps -ef | $a | awk '{print $2}'
Run Code Online (Sandbox Code Playgroud)

我怎样才能完成上述工作?我有一个部分,我不仅要传递grep术语,但可能传递多个grep术语,这意味着我需要将"term1 | grep term2"作为变量传递.

编辑:

另一个.下面的回答对我来说非常合适.谢谢你,先生!

linux bash

2
推荐指数
1
解决办法
131
查看次数

Python相当于ruby的`map.with_index`?

我试图在python中重新创建一些我的ruby代码(不能等到lambda支持ruby !!),而且我正在运行一个问题,在数组上返回过滤结果的指标(我想我在说这是正确的).这是一些示例代码:

array = [200,100,150,500,25,650,175]
res = filter(lambda x: x < 200, array)
print res
[100, 150, 25, 175]
Run Code Online (Sandbox Code Playgroud)

但是我真的需要它来返回与过滤器匹配的每个元素的索引并得到:

[1,2,4,6]
Run Code Online (Sandbox Code Playgroud)

在python中有一个简单的方法吗?我打算尝试numpy,但是easyinstall在尝试安装时变得疯狂.

python list python-2.7

2
推荐指数
2
解决办法
222
查看次数

ajax函数没有获取url

我有:

function makeAjaxRequest() {
var url = '/queryjob/dbname/ip';
$.ajax(url,
{
    success: alert(response)
});
}
Run Code Online (Sandbox Code Playgroud)

当我在这个网址上执行正常的浏览器请求时,我得到43的响应(现在只是一个测试响应)

当我点击按钮我必须运行此功能时,没有任何反应.我根本没有在日志中看到get请求.我有一些愚蠢的语法错误或什么?我对js和ajax很新.我有另一个函数可以在我得到一个url并对html响应代码执行操作,但是到目前为止这个已经杀了我.

javascript ajax jquery

1
推荐指数
1
解决办法
42
查看次数

Python通过匹配值获取json数组项

所以我有一个数组的json数据看起来像这样:

[{
  "first_name": "Joe",
  "last_name": "Smith",
  "numbers": [1,2,3,4,5]
}, {
  "first_name": "Jane",
  "last_name": "Doe",
  "numbers": [6,4,1,35,2]
}, {
  "first_name": "Mike",
  "last_name": "Everyman",
  "numbers": [8,5,3,2,4,5]
}]
Run Code Online (Sandbox Code Playgroud)

如何只选择last_name = Doe的数组项?我正在尝试将我在ruby中编写的一些代码转换为python,因为lambda不支持ruby :(我的ruby代码看起来像:

match = data.select {|x| x[:last_name] == 'Doe'}
Run Code Online (Sandbox Code Playgroud)

哪个返回:

{
 "first_name": "Jane",
 "last_name": "Doe",
 "numbers": [6,4,1,35,2]
}
Run Code Online (Sandbox Code Playgroud)

另外,我知道由于数据是json格式,因此在技术上无法在ruby中工作,但是我将其从哈希转换为json,并且不希望将其改回,因为基本思想仍然相同。

python python-3.x

1
推荐指数
1
解决办法
3769
查看次数

Python TypeError:在简单列表上迭代非序列

import os

test = os.system("ls /etc/init.d/ | grep jboss- | grep -vw jboss-")
for row in test:
    print row
Run Code Online (Sandbox Code Playgroud)

由于某种原因,这给出了TypeError:迭代非序列错误.

当我在没有for循环的情况下进行打印测试时,它会给出一个jboss实例的列表,并在底部加上一个"0".哎呀?

python

0
推荐指数
1
解决办法
917
查看次数

如何在 bash 脚本中执行脚本,而不是等待它完成?

我正在编写一个偶尔运行的脚本,并从 mysql 数据库中提取作业。当我这样做时,我运行如下:

job="/tmp/blah.sh arg1 arg2 arg3"
eval $job
Run Code Online (Sandbox Code Playgroud)

我需要它在运行 eval 后立即继续,而不是等待其他脚本完成。有什么简单的方法可以做到这一点?我试过

exec $job & 
Run Code Online (Sandbox Code Playgroud)

基于我在这里找到的一个线程,但这恰恰相反,它运行了脚本,然后在“作业”完成后停止,并停止了我的整个脚本。

编辑:

我在分离我的 args 和脚本时遇到的问题是作业有多行,看起来像:

/tmp/blah1.sh arg1 arg2 arg3 arg4
/tmp/blah2.sh null null null arg4
/tmp/blah3.sh arg1 null arg3 arg4
Run Code Online (Sandbox Code Playgroud)

所以目前我只运行它: eval $jobs :如果只有一行,如果有多个,我会做一个 for 循环并运行每一行。在 for 循环中运行它以提取和分离 args 和脚本的最佳方法是什么?

bash

0
推荐指数
1
解决办法
537
查看次数

标签 统计

python ×5

bash ×4

javascript ×2

linux ×2

ssh ×2

ajax ×1

css ×1

gem ×1

html ×1

jquery ×1

list ×1

lita ×1

pexpect ×1

python-2.7 ×1

python-3.x ×1

ruby ×1

sudo ×1

vt100 ×1