小编Mar*_*ter的帖子

在matplotlib图中显示原点轴(x,y)

我有跟随简单的情节,我想显示原点轴(x,y).我已经有网格,但我需要强调x,y轴.

在此输入图像描述

这是我的代码:

x = linspace(0.2,10,100)
plot(x, 1/x)
plot(x, log(x))
axis('equal')
grid()
Run Code Online (Sandbox Code Playgroud)

我见过这个问题.接受的答案建议使用"轴脊柱",只是链接到一些例子.然而,使用子图表的例子太复杂了.我无法弄清楚,如何在我的简单示例中使用"Axis spine".

matplotlib ipython ipython-notebook

34
推荐指数
2
解决办法
6万
查看次数

ipython:如何设置终端宽度

当我使用ipython terminal并想要打印一个numpy.ndarray有很多列的行时,这些行会在80个字符左右自动断开(即行的宽度为cca 80个字符):

z = zeros((2,20))
print z
Run Code Online (Sandbox Code Playgroud)

据推测,ipython期望我的终端有80列.事实上,我的终端宽度为176个字符,我想使用全宽.

我试过更改以下参数,但这没有效果:

c.PlainTextFormatter.max_width = 160
Run Code Online (Sandbox Code Playgroud)

如何判断ipython我的终端的全宽?

ipython 1.2.1在Debian Wheezy上使用

python numpy ipython

26
推荐指数
3
解决办法
1万
查看次数

为什么 argparse 不接受“--”作为参数?

我的脚本采用-d,--delimiter作为参数:

parser.add_argument('-d', '--delimiter')
Run Code Online (Sandbox Code Playgroud)

但是当我将它--作为分隔符传递时,它是空的

script.py --delimiter='--' 
Run Code Online (Sandbox Code Playgroud)

我知道--参数/参数解析很特殊,但我在表单中使用它--option='--'并引用它。

为什么它不起作用?我正在使用Python 3.7.3

这是测试代码:

#!/bin/python3

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--delimiter')
parser.add_argument('pattern')

args = parser.parse_args()

print(args.delimiter)
Run Code Online (Sandbox Code Playgroud)

当我运行它时,script --delimiter=-- AAA它打印为空args.delimiter

python argparse

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

perf:无法记录内核引用重定位符号

我编译perf了我的内核(3.11.10).在编译期间,一些库丢失了,所以我安装了这些库.

但是现在当我跑步时perf,我得到以下信息:

Couldn't record kernel reference relocation symbol
Symbol resolution may be skewed if relocation was used (e.g. kexec).
Check /proc/kallsyms permission or run as root.

Kernel address maps (/proc/{kallsyms,modules}) were restricted.
Check /proc/sys/kernel/kptr_restrict before running 'perf record'
If some relocation was applied (e.g. kexec) symbols may be misresolved.
Samples in kernel modules can't be resolved as well.
Run Code Online (Sandbox Code Playgroud)

由于我使用的是自定义构建内核,对我来说最明显的解释是,我的内核缺少某些选项.如果是这样,我怎样才能找出遗漏的内容?

我不确定到底perf在抱怨什么.我怎样才能解决这个问题?

编辑:

/proc/kallsyms不存在并/proc/sys/kernel/kptr_restrict包含0:

$ cat /proc/sys/kernel/kptr_restrict
0
Run Code Online (Sandbox Code Playgroud)

我自己编译了内核,它可能缺少一些选项.这是什么/proc/kallsyms?如何在我的内核中启用它?

kernel perf

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

以编译的二进制显示字符串

让我们假设我有简单的C程序,我编译它gcc -o hello hello.c:

#include<stdio.h>

main()
{
    printf("hello");
}
Run Code Online (Sandbox Code Playgroud)

现在我想用strings实用程序显示"字符串" :

$ strings hello
/lib64/ld-linux-x86-64.so.2
__gmon_start__
libc.so.6
printf
__libc_start_main
GLIBC_2.2.5
fffff.
l$ L
t$(L
|$0H
hello
;*3$"
Run Code Online (Sandbox Code Playgroud)

并且,正如预期的那样,我可以在二进制文件中看到字符串"hello".

但是,当我修改我的C程序并将"hello"作为常量时:

#include<stdio.h>

char s[6] = {'h','e','l','l','o','\0' } ;

main()
{
    printf("%s\n", s);
}
Run Code Online (Sandbox Code Playgroud)

我再也看不到二进制文件中的字符串"hello"了.

有人可以解释一下原因吗?

c string gcc

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

如何将文件"源"到python脚本中

我有一个/etc/default/foo包含一行的文本文件:

FOO="/path/to/foo"
Run Code Online (Sandbox Code Playgroud)

在我的python脚本中,我需要引用变量FOO.

将文件"源" /etc/default/foo到我的python脚本中的最简单方法是什么,就像我在bash中一样?

. /etc/default/foo
Run Code Online (Sandbox Code Playgroud)

python bash python-2.7

13
推荐指数
5
解决办法
3万
查看次数

IP摄像头:用于录制H.264的开源软件

我有一台IP摄像机(Axis M1054),我想录制视频流.我可能会从连续录制开始,但后来我想切换到由运动检测触发的剪辑(在触发发生前几秒预录制),录制以MPEG4(H.264)编码,而不是MJPEG.

有免费的开源Linux软件可以做到吗?我没有通过搜索互联网找到任何东西.你能推荐一些有效且成功使用的东西吗?还是我坚持使用商业软件?

如果使用不同的型号可以更好地使用Linux,我可以更换相机.

linux video-streaming h.264 ip-camera

10
推荐指数
1
解决办法
3万
查看次数

更改matplotlib图的默认背景颜色

我使用ipythonmatplotlib.是否可以配置图的默认背景颜色matplotlib?curent(白色)颜色必须来自某个地方.可以说,它可以覆盖它#CCCCCC吗?

注意:默认情况下,我不是指给定ipython笔记本的默认值.我的意思是我的matplotlib安装默认.

@Ffisegydd建议的解决方案有效.然而,在设置之后axes.facecolor : F4EAEA,我仍然会在情节周围获得白边:

在此输入图像描述

我怎么能摆脱那些?

更新:

现在我有以下设置,我/etc/matplotlibrc每次更改后都重启了ipython笔记本;

axes.facecolor      : F4EAEA   
figure.facecolor : F4EAEA  
figure.edgecolor : F4EAEA   
savefig.facecolor : F4EAEA    
savefig.edgecolor : F4EAEA    
Run Code Online (Sandbox Code Playgroud)

该图与原始屏幕截图相同.即情节周围有白色条纹.

UPDATE2:

我正在使用ipython,我在我的网站中有以下自定义css ~/.config/ipython/profile_nbserver/static/custom/custom.css

div.output_area {
  border-radius: 4px;
  background: #F4EAEA !important;
  border: thin solid #4a4a4a;
}
Run Code Online (Sandbox Code Playgroud)

matplotlib ipython

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

C:将argv [1]转换为double

我需要将一个double传递给我的程序,但以下内容不起作用:

int main(int argc, char *argv[]) {

double ddd;

ddd=atof(argv[1]);

printf("%f\n", ddd);

return 0;
}
Run Code Online (Sandbox Code Playgroud)

如果我运行我的程序,因为./myprog 3.14它仍然打印0.000000.

有人可以帮忙吗?

c

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

python3:从编译模式中提取IP地址

我想处理日志文件中的每一行,IP如果行与我的模式匹配,则提取地址。有几种不同类型的消息,在下面的示例中,我正在使用p1 andp2`。

我可以逐行读取文件,并且每一行都与每种模式匹配。但是,由于可以有更多的模式,因此我想尽可能高效地进行操作。我希望将thos模式编译成一个对象,并且只对每行进行一次匹配:

import re

IP = r'(?P<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})'

p1 = 'Registration from' + IP + '- Wrong password' 
p2 = 'Call from' + IP + 'rejected because extension not found'

c = re.compile(r'(?:' + p1 + '|' + p2 + ')')

for line in sys.stdin:
    match = re.search(c, line)
    if match:
        print(match['ip'])
Run Code Online (Sandbox Code Playgroud)

但是上面的代码不起作用,它抱怨ip使用了两次。

实现目标的最优雅方式是什么?

编辑:

我已经根据@Dev Khadka的回答修改了我的代码。

但是我仍然在努力如何正确处理多个ip比赛。下面的代码显示与p1匹配的所有IP:

for line in sys.stdin:
    match = c.search(line)
    if match:
        print(match['ip1'])
Run Code Online (Sandbox Code Playgroud)

但是有些线不匹配p1。他们匹配p2。即,我得到: …

python regex python-3.x

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