我正在开发一个备份守护进程,它将在后台静默运行.守护程序依赖于duplicity备份软件,备份时需要加密密钥.我不能通过控制台询问密码,因为很明显,守护进程无法访问密码.
我怎样才能轻松创建一个提示,要求用户输入密码,并将其返回给应用程序(通过Python变量)?我正在使用Python 2.7.
我对mac世界比较陌生.我的问题是关于在mac osx上使用python打开一个应用程序.从我到目前为止发现,似乎应用程序以app格式存储,实际上是目录.在打开应用程序时,操作系统会以某种方式解析这些问题吗?我想使用python打开Safari,它位于我的/Applications/Safari.app目录中.是否有一个特定的二进制文件我应该传递给os.system或者我应该以完全不同的方式进行它?我的最终目标是让safari打开一个本地html文件,关闭它然后打开另一个本地html文件.
谢谢,约翰
我是Python的新手,但我必须在学校实现Python语言的命令行解释器,但我有点迷失在如何做到这一点.
我已经阅读了一些教程并创建了一个名为functions.py的简单文件,其中包含一些简单的函数,如下所示:
def delete(loc):
if os.path.exists(loc) == True:
os.remove(loc)
print "Removed"
else:
print "File not exists"
Run Code Online (Sandbox Code Playgroud)
现在..这里是东西..为了使用这个我必须在python命令解释器中导入它,就像...
import functions
functions.delete("file to delete")
Run Code Online (Sandbox Code Playgroud)
我怎样才能创建一个Shell/CLI,而不必编写所有这些,我可以这样写:
delete file_name
Run Code Online (Sandbox Code Playgroud)
谢谢!
嗨,我有一个Boost线程,应该返回一个双.该函数如下所示:
void analyser::findup(const double startwl, const double max, double &myret){
this->data.begin();
for(int i = (int)data.size() ; i >= 0;i--){
if(this->data[i].lambda > startwl){
if(this->data[i].db >= (max-30)) {
myret = this->data[i+1].lambda;
std::cout <<"in thread " << myret << std::endl;
return;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
此函数由另一个函数调用:
void analyser::start_find_up(const double startwl, const double max){
double tmp = -42.0;
boost::thread up(&analyser::findup,*this, startwl,max,tmp);
std::cout << "before join " << tmp << std::endl;
up.join();
std::cout << "after join " << tmp << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
无论如何,我已经尝试过谷歌几乎任何东西,但我不能让它返回一个值.
输出现在看起来像这样.
before …Run Code Online (Sandbox Code Playgroud) 假设我制作了一个C程序,其名称如下:
./something -d dopt filename
Run Code Online (Sandbox Code Playgroud)
所以-d是一个命令,dopt是一个可选的参数-d,并filename为参数./something,因为我也可以调用./something filename。
getopt获取文件名的形式是什么?
我试着到处寻找但没有运气.这是我的问题:
我有一个UDP套接字,它可以通过任何端口将数据发送到任何IP地址(经过测试和确认工作).
我阅读了很多教程,但他们都在操纵char*[],他们没有指定如何解密它.
我想做什么(伪代码):
客户:
Class my_class;
send (..., my_class, sizeof(my_class),...)
Run Code Online (Sandbox Code Playgroud)
服务器:
receive (sender, buffer, sizeof (buffer))
and do something like
Class my_class = (Class) buffer
Run Code Online (Sandbox Code Playgroud)
所以我的服务器可以分析缓冲区的内容.
但是我迷失了指针,我所能发送的只是char*[],所以我不知道如何来回转换.
我正在阅读GCC简介,它说如果一个软件包同时包含.a和.so.gcc更喜欢共享库.默认情况下,加载程序仅在预定义的一组系统目录(例如/usr/local/lib和)中搜索共享库/usr/lib.如果库不在其中一个目录中,则必须将其添加到加载路径,或者您需要使用-static选项强制它使用.a库.但是,我尝试了以下方法:
vim hello.c:
#include <gmp.h>
#include <stdio.h>
int main() {
mpz_t x;
mpz_init(x);
return 0;
}
gcc hello.c -I/opt/include -L/opt/lib -lgmp (my gmp library is in opt)
./a.out
Run Code Online (Sandbox Code Playgroud)
它运行.该书说它应该有以下错误:
./a.out: error while loading shared libraries:
libgdbm.so.3: cannot open shared object file:
No such file or directory
Run Code Online (Sandbox Code Playgroud)
(好吧,这本书以GDBM为例,但我使用的是GMP,但这没关系吗?)
但是,我没有设置LD_LIBRARY_PATH=/opt/lib,你可以看到我也没有使用-static选项,但a.out仍然运行.
你能告诉我为什么,并告诉我如何得到书中描述的错误?是的我想要错误,所以我会理解我误解的内容.
我正在尝试使用以下代码编写一个xml文件:
def make_xml(a_numpy_array):
from lxml import etree as ET
root = ET.Element('intersections')
intersection = ET.SubElement(root, 'intersection')
trace = ET.SubElement(intersection, 'trace')
trace.text = a_numpy_array
print ET.tostring(root, pretty_print=True, xml_declaration=True, encoding = 'utf-8')
Run Code Online (Sandbox Code Playgroud)
.....
trace.text期望一个字符串输入.我想在这里放入一个存储为numpy ndarray的2D数组的xml文件.但我似乎无法将数据导出到字符串.numpy.tostring给我字节码,我该怎么办?我想出的解决方案是将ndarray写入文本文件,然后将文本文件作为字符串读取,但我希望能够跳过编写文本文件.
我有一个带有 JSON-Objects 的源文件,每行一个,如下所示:
来源:
{"_id":"1","name":"one"}
{"_id":"2","name":"two"}
{"_id":"3","name":"three"}
Run Code Online (Sandbox Code Playgroud)
我想将每一行发送到
curl -X POST -H "application/json" myURL -d '<REPLACEMENT>'
Run Code Online (Sandbox Code Playgroud)
当我尝试时,双引号不会使其卷曲
<source xargs -I % curl -X POST -H "application/json" myURL -d '%'
Run Code Online (Sandbox Code Playgroud)
我尝试转义 curl 命令中的引号,后来我用 \" 替换了源文件中的所有双引号。我发现没有可用的版本。
另一种使用 seq 和 sed 将每一行写入临时文件的方法, curl -d @temp 对我不起作用。
是否有一个优雅的解决方案,或者我必须编写一个带有循环的脚本?
给定一个 numpy 数组
A = np.array([[[29, 64, 83],
[17, 92, 38],
[67, 34, 20]],
[[73, 28, 45],
[19, 84, 61],
[22, 63, 49]],
[[48, 30, 13],
[11, 52, 86],
[62, 25, 12]]])
Run Code Online (Sandbox Code Playgroud)
我想要某个值的索引,比如 63
值不可能重复或丢失
我做了
idx = np.where(A == 63)
print(idx)
Run Code Online (Sandbox Code Playgroud)
我有
(array([1], dtype=int32), array([2], dtype=int32), array([1], dtype=int32))
Run Code Online (Sandbox Code Playgroud)
我想要的是
[1, 2, 1]
Run Code Online (Sandbox Code Playgroud)
作为列表或其他可迭代的,没有所有这些array, dtype=int32等等。
我该怎么做呢?