我试图在python中创建一个很好的列列表,用于我创建的命令行管理工具.
基本上,我想要一个列表,如:
[['a', 'b', 'c'], ['aaaaaaaaaa', 'b', 'c'], ['a', 'bbbbbbbbbb', 'c']]
Run Code Online (Sandbox Code Playgroud)
变成:
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
Run Code Online (Sandbox Code Playgroud)
使用普通标签不会在这里做,因为我不知道每行中最长的数据.
这与Linux中的'column -t'行为相同.
$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c"
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
$ echo -e "a b c\naaaaaaaaaa b c\na bbbbbbbbbb c" | column -t
a b c
aaaaaaaaaa b c
a bbbbbbbbbb c
Run Code Online (Sandbox Code Playgroud)
我已经四处寻找各种python库来做到这一点,但找不到任何有用的东西.
我需要在Docker中设置我自己的私有注册表,通常保留所有内部Docker镜像.
为了使这更容易,我希望在内部设置我的Docker图像被调用project/component,就像你从https://index.docker.io/提取的普通Docker图像一样.
我确信,我永远不会从index.docker.io中获取这种格式的图像,所有这些图像都来自我们的内部索引器.即使是格式的图像imagename,centos也会从我们的内部存储库中提取出来.
那么,有没有办法让我更改默认索引器?或者至少将我的私有索引器从端口5000更改为默认尝试的东西; 即,从中获取图像private_indexer.internal/repo_name而不是private_indexer.internal:5000/repo_name.
将index.docker.io放在我们自己的dns中指向我们的内部ip是最好的解决方案吗?
我今天在服务器上遇到了一些问题,现在我已经把它归结为它无法摆脱遇到段错误的进程.
在该过程发生seg-fault之后,该过程只是一直悬挂,而不是被杀死.
应该导致错误的测试Segmentation fault (core dumped).
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
char *buf;
buf = malloc(1<<31);
fgets(buf, 1024, stdin);
printf("%s\n", buf);
return 1;
}
Run Code Online (Sandbox Code Playgroud)
使用编译和设置权限gcc segfault.c -o segfault && chmod +x segfault.
在有问题的服务器上运行此(并按下输入1次)会导致它挂起.我也在另一台具有相同内核版本(和大多数相同的软件包)的服务器上运行它,它得到seg-fault然后退出.
以下是strace ./segfault在两台服务器上运行后的最后几行.
糟糕的服务器
"\n", 1024) = 1
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
# It hangs here....
Run Code Online (Sandbox Code Playgroud)
工作服务器
"\n", 1024) = 1
--- SIGSEGV {si_signo=SIGSEGV, si_code=SEGV_MAPERR, si_addr=0} ---
+++ killed by SIGSEGV (core dumped) +++ …Run Code Online (Sandbox Code Playgroud) 我正在创建一个脚本,需要解析puppet输出的yaml输出.
当我再次提出请求示例https:// puppet:8140/production/catalog/my.testserver.no我会得到一些yaml回来看起来像:
--- &id001 !ruby/object:Puppet::Resource::Catalog
aliases: {}
applying: false
classes:
- s_baseconfig
...
edges:
- &id111 !ruby/object:Puppet::Relationship
source: &id047 !ruby/object:Puppet::Resource
catalog: *id001
exported:
Run Code Online (Sandbox Code Playgroud)
等等......问题是当我做一个yaml.load(yamlstream)时,我会得到一个错误:
yaml.constructor.ConstructorError: could not determine a constructor for the tag '!ruby/object:Puppet::Resource::Catalog'
in "<string>", line 1, column 5:
--- &id001 !ruby/object:Puppet::Reso ...
^
Run Code Online (Sandbox Code Playgroud)
据我所知,这个&id001部分在yaml中得到支持.
有没有办法解决?我可以告诉yaml解析器忽略它们吗?我只需要yaml流中的几行,也许正则表达式是我的朋友在这里?以前做过任何yaml清理正则表达式的人吗?
您可以使用curl获取yaml输出,如:
curl --cert /var/lib/puppet/ssl/certs/$(hostname).pem --key /var/lib/puppet/ssl/private_keys/$(hostname).pem --cacert /var/lib/puppet/ssl/certs/ca.pem -H 'Accept: yaml' https://puppet:8140/production/catalog/$(hostname)
Run Code Online (Sandbox Code Playgroud)
我还在puppet mailinglist @ http://www.mail-archive.com/puppet-users@googlegroups.com/msg24143.html中找到了一些相关信息.但我不能让它正常工作......
我有一个看起来像这样的json对象(由...生成)i3-msg -t get_workspaces.
[
{
"name": "1",
"urgent": false
},
{
"name": "2",
"urgent": false
},
{
"name": "something",
"urgent": false
}
]
Run Code Online (Sandbox Code Playgroud)
我试图用来jq确定列表中的哪个索引号是基于select查询的.jq有东西叫index(),但它接缝只支持字符串?
使用类似的东西i3-msg -t get_workspaces | jq '.[] | select(.name=="something")'给我我想要的对象.但我想要它的索引.在这种情况下2(从0开始计数)
这有可能jq单独使用吗?
我正在使用Docker,所以这种情况可能看起来很奇怪.但我想/data在开发时将我的整个目录安装在我的docker容器中.
我的/data文件夹容器我的package.json文件,app目录和一堆其他东西.问题是我希望我的node_modules文件夹不是持久性的,只是package.json文件.
我已经尝试了几件事情,但package.json和npm这里给我很难...
package.json直接挂载文件会破坏npm.npm尝试在保存时重命名文件,这在安装文件时是不可能的./data)将挂载node_modules文件夹./data,例如/distpackage.json在/data/conf安装/data/conf的卷,而不是不会工作.我找不到任何方法来指定package.json路径npmrc.package.json在/data/conf和符号链接它/data/package.json不会工作.npm打破符号链接并用文件替换它.在docker容器内来回传输数据是我现在正在做的事情.有点单调乏味......我也想要一个干净的解决方案..
我正在查看其他人编写的一些代码,我注意到这个奇怪的javascript语法..基本上,它看起来像这样:
// This is understandable (but I dont know if it have relevance)
var re = new RegExp("^" + someVar + "_", "i");
// !!~ ??? What is this black magic?
if (!!~varA.search(re)) { ... }
Run Code Online (Sandbox Code Playgroud)
这是难以谷歌的事情之一..任何Javascript gurues可以解释这个?
我一直在关注这些教程,并且已经尝试了几天Docker,但我找不到任何"真实世界"的用法示例.
我怎样才能从外面与我的容器沟通?
我可以找到的所有示例最终都有一个或多个容器,它们可以与其他容器共享端口,但主机外部没有人可以访问其公开的端口.
拥有这样的容器的重点不在于它们中至少有一个需要从外面进入吗?
我找到了一个名为pipework的工具(https://github.com/jpetazzo/pipework),这可能对我有所帮助.但这是每个人都在测试Docker生产他们正在使用的工具吗?
让外面与我的容器交谈是必要的"黑客"吗?
我正在制作一个脚本,该脚本通过管道(stdin)进行输入,如(other_command | my_script)中所示。但是,在阅读完整个stdin之后,我需要暂停脚本并等待用户按Enter。
这是一个示例脚本。
#!/bin/bash
if [[ -t 0 ]]; then
echo "No stdin"
else
echo "Got stdin"
while read input; do
echo $input
done
fi
echo "Press enter to exit"
read
Run Code Online (Sandbox Code Playgroud)
它像这样工作;
$ echo text | ./script
Got stdin
text
Press enter to exit
$
Run Code Online (Sandbox Code Playgroud)
它跳过了我的决赛read。
然而;
$ ./script
No stdin
Press enter to exit
stops here
$
Run Code Online (Sandbox Code Playgroud)
read从stdin阅读后,如何上班?有没有可以在Linux和OSX上都可以使用的解决方案?
使用像这样的Python 请求
import requests;
requests.get('https://internal.site.no')
Run Code Online (Sandbox Code Playgroud)
SSLError: ("bad handshake: Error([('SSL routines', 'SSL23_GET_SERVER_HELLO', 'sslv3 alert handshake failure')],)",)
Run Code Online (Sandbox Code Playgroud)
但是,他们建议没有丢失的包装.即使设置也会verify=False给我带来同样的错误.Curl在尝试访问同一站点时没有错误.
版本: