我正在开发一个项目,我们使用 2 个虚拟机,其中一个用作本地虚拟机并且可以访问,并且我们需要从该本地虚拟机访问远程虚拟机。在处理此问题时,我遇到了一个问题。目录中的远程目录中有一个文件。每次执行脚本时,该文件都会加载新数据,但我不需要它。我希望该文件是每次在我的脚本执行之前删除。
我已经给出了下面的代码。
if($ssh = ssh2_connect('192.168.150.85', 22)) {
if(ssh2_auth_password($ssh, 'someUserName', 'somePassword')) {
$stream = ssh2_exec($ssh, "python file_scanner.py /home/nsadmin/$file_name");
$stream = ssh2_exec($ssh, 'rm /home/nsadmin/file_scanned');
stream_set_blocking($stream, true);
$data = '';
while($buffer = fread($stream, 4096)) {
$data .= $buffer;
}
fclose($stream);
echo $data; // user
}
}
Run Code Online (Sandbox Code Playgroud)
在这里我们可以看到,在 ssh 连接之后,我执行了一些脚本,并且该文件的结果被附加到文件中file_scanned。但是当我执行 ssh 连接时,我之前的结果也会出现。所以我做到了$stream = ssh2_exec($ssh, 'rm /home/nsadmin/file_scanned');。但它不起作用。
有关如何更改或修改我的脚本的任何建议,以便我可以在执行上一个命令后删除该文件。
问题:
\n\n查找域名的二元组、三元组和二元组分数。我有一个数据集,我想使用一些简单的分类来区分它们是否是 dga 域。所以我想从使用二元组、三元组和熵开始。
\n\n我尝试过的:
\n\nfrom nltk import ngrams\nsentence = 'some big sentence'\nn = 2\nsixgrams = ngrams(sentence.split(), n)\nfor grams in sixgrams:\nprint grams\nRun Code Online (Sandbox Code Playgroud)\n\n这里我得到了一个句子的二元组。但我的意图不是这个。
\n\n我想转换
\n\n示例域:google.co.in
\n\nbigrams\n\n[\xe2\x80\x98$g\xe2\x80\x99, \xe2\x80\x98go\xe2\x80\x99, \xe2\x80\x98oo\xe2\x80\x99, \xe2\x80\x98og\xe2\x80\x99, \xe2\x80\x98gl\xe2\x80\x99, \xe2\x80\x98le\xe2\x80\x99, \xe2\x80\x98e$\xe2\x80\x99, \xe2\x80\x98$c\xe2\x80\x99, \xe2\x80\x98co\xe2\x80\x99, \xe2\x80\x98o$\xe2\x80\x99, \xe2\x80\x98$i\xe2\x80\x99, \xe2\x80\x98in\xe2\x80\x99, \xe2\x80\x98n$\xe2\x80\x99]\ntrigrams\n\n[\xe2\x80\x98$go\xe2\x80\x99, \xe2\x80\x98goo\xe2\x80\x99, \xe2\x80\x98oog\xe2\x80\x99, \xe2\x80\x98ogl\xe2\x80\x99, \xe2\x80\x98gle\xe2\x80\x99, \xe2\x80\x98le$\xe2\x80\x99, \xe2\x80\x98$co\xe2\x80\x99, \xe2\x80\x98co$\xe2\x80\x99, \xe2\x80\x98$in\xe2\x80\x99, \xe2\x80\x98in$\xe2\x80\x99]\nRun Code Online (Sandbox Code Playgroud)\n\n然后计算 bigrams_score。从中我可以用它来预测模块并进行分析。
\n\n谁能帮助我了解如何解决这个问题?
\n我尝试处理需要图形包的图形算法,所以我导入了图形,代码在这里
from graphics import *
import time
def BresenhamLine(x1,y1,x2,y2):
""" Bresenham Line Drawing Algorithm For All Kind Of Slopes Of Line """
dx = abs(x2 - x1)
dy = abs(y2 - y1)
slope = dy/float(dx)
x, y = x1, y1
# creating the window
win = GraphWin('Brasenham Line', 600, 480)
# checking the slope if slope > 1
# then interchange the role of x and y
if slope > 1:
dx, dy = dy, dx
x, y = y, …Run Code Online (Sandbox Code Playgroud) 我已经使用命令安装了virtualenv pip install virtualenv,它给了我这个。
pip install virtualenv
Downloading/unpacking virtualenv
Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB): 0% Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB): 0% Downloading virtualenv-15.1.0-py2.py3-none-any.whl (1.8MB): 1.8MB downloaded
Installing collected packages: virtualenv
Successfully installed virtualenv
Cleaning up...
Run Code Online (Sandbox Code Playgroud)
现在您可以看到已经安装了virtualenv来确认我已经像这样测试过了,
ubuntu@ubuntu ? ~ ? which pip
/usr/bin/pip
ubuntu@ubuntu ? ~ ? which python
/usr/bin/python
ubuntu@ubuntu ? ~ ? which virtualenv
virtualenv not found
? ubuntu@ubuntu ? ~ ? python --version
Python 2.7.12
ubuntu@ubuntu ? ~ ? pip --version
pip 1.5.6 from /usr/lib/python2.7/dist-packages (python 2.7)
Run Code Online (Sandbox Code Playgroud)
现在真正的问题是我想创建一个我输入了命令的virtualenv
virtualenv env …
问题:
我在一个文件夹中有一堆文件,我想将它们全部重命名为文件内容的 md5。
我试过的:
这是我试过的命令。
for i in $(find /home/admin/test -type f);do mv $i $(md5sum $i|cut -d" " -f 1);done
Run Code Online (Sandbox Code Playgroud)
但这在一段时间后因错误而失败,只有一些文件被重命名,其余部分保持不变。
mv: missing destination file operand after /home/admin/test/help.txt
Try `mv --help' for more information.
Run Code Online (Sandbox Code Playgroud)
实施是否正确?我在脚本中做错了什么吗?
我已经使用了请求模块,现在我得到了json格式的数据,并且通过这个如何使用Python的相同帮助我写了一个JSON文件,我编写了我的代码,在执行代码时它给了我一个错误Expected a string or buffer,所以我改变了变量传递给解析器到字符串.现在它再次出现了另一个错误.
#Import
import requests
import json
r = requests.post('http://httpbin.org/post', data = {'key':'value'})
print(r.status_code)
got_data_in_json = r.json()
parsed_json = json.loads(str(got_data_in_json))
print(json.dumps(parsed_json, indent=4 ,sort_keys=True))
Run Code Online (Sandbox Code Playgroud)
错误日志:
python requests_post.py
200
Traceback (most recent call last):
File "requests_post.py", line 8, in <module>
parsed_json = json.loads(str(got_data_in_json))
File "/usr/lib/python2.7/json/__init__.py", line 339, in loads
return _default_decoder.decode(s)
File "/usr/lib/python2.7/json/decoder.py", line 364, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python2.7/json/decoder.py", line 380, in raw_decode
obj, end = self.scan_once(s, …Run Code Online (Sandbox Code Playgroud) 在脚本中,我将哈希作为用户输入,并根据我计算的长度是 md5、sha1 还是 sha256。但是现在的问题是将每个散列转换为相应的其他散列并存储在变量中。
我从 StackOverflow 的答案中尝试了这个 hashlib。
>>> import hashlib
>>> s = 'something to hash'
>>> sb = s.encode("utf8")
>>> hashlib.md5(sb)
<md5 HASH object @ 0x7f36f5ce3440>
>>> hashlib.md5(sb).hexdigest()
'6f4815fdf1f1fd3f36ac295bf39d26b4'
>>> hashlib.sha1(sb).hexdigest()
'72668bc961b0a78bfa1633f6141bcea69ca37468'
Run Code Online (Sandbox Code Playgroud)
但这在给出文本时解决了,但在我的情况下,直接散列是这样给出的。
hash_value = sys.argv[1]
#print len(hash_value)
if len(hash_value) == 64:
type_of_hash = 'sha256'
elif len(hash_value) == 40:
type_of_hash = 'sha1'
elif len(hash_value) == 32:
type_of_hash = 'md5'
else:
print "Invalid Hash"
Run Code Online (Sandbox Code Playgroud)
现在我想做的就是将 hash_value 转换为相应的其他格式,假设给定的输入是 sha256 那么我需要将哈希值转换为其他格式。
有关如何解决此问题的任何建议?