小编Mar*_* C.的帖子

vim找不到并替换明显存在的简单短语

我有一个简单的vim问题,谷歌没有设法帮助我.任何想法都表示赞赏.

我执行以下搜索并替换:

:s/numnodes/numnodes1/g
Run Code Online (Sandbox Code Playgroud)

在包含以下文本的文件中:

numprocs=0  
numnodes=0
Run Code Online (Sandbox Code Playgroud)

我明白了

E486: Pattern not found
Run Code Online (Sandbox Code Playgroud)

绿色方块的位置表明我开始打字的位置明显高于模式.我试图寻找其他不涉及正则表达式的短语,这些短语也存在,但也失败了.简单/ numnodes按预期突出显示匹配项.有谁知道vim可能有什么问题?

vim replace scope-resolution

63
推荐指数
2
解决办法
3万
查看次数

在systemd启动期间访问stdin

我有一个脚本,它在启动计算机时请求用户输入数字.计算机正在运行Fedora 16.它在Fedora 13上使用了工作,但在升级之后

read INTEGER
Run Code Online (Sandbox Code Playgroud)

立即返回,不会捕获任何用户输入.我试过了

read INTEGER
wait $!
Run Code Online (Sandbox Code Playgroud)

但(可预见地),这也不起作用.该脚本从systemd服务文件运行(请参阅下面的注释).它必须以root身份运行,并且必须在用户登录之前启动.它当前将bash称为其解释器,但是通过一些努力,可以更改它.任何人都可以帮助将此脚本恢复正常吗?

额外功劳:在F13中,它用于暂停用户输入的启动(根据需要),但输入未显示为用户键入的内容.有没有办法添加此功能?

bash boot fedora sh systemd

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

如何在失败时停止预提交?

git在以下位置启用了两个预提交挂钩pre-commit-config.yml

  1. 一个只需很少时间的代码格式化钩子
  2. 我们的 pytest 钩子需要更多时间

当 (1) 更新代码格式时,它失败,但 (2) 仍然运行。然后必须再次运行 (1) 和 (2),从而使运行提交所需的时间加倍。我宁愿仅在(1)通过时才运行(1)并运行(2)。是否可以使用pre-commit,如果可以,我会怎么做?我已经深入研究了文档,但到目前为止我还没有找到任何有用的东西。

git pre-commit.com

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

使用向上箭头完成 IPython 命令

我最近升级了 IPython,向上箭头的行为发生了变化。以前,我可以从我的历史记录中获取整个命令。现在,它呈灰色,我必须按向右键才能完成它,然后才能按 Enter 或编辑它:

IPython截图

这是什么时候改变的?如何恢复之前的行为?

ipython

9
推荐指数
0
解决办法
177
查看次数

How do I force matplotlib to write out the full form of the x-axis label, avoiding scientific notation?

I've created a simple hexbin plot with matplotlib.pyplot. I haven't changed any default settings. My x-axis information ranges from 2003 to 2009, while the y values range from 15 to 35. Rather than writing out 2003, 2004, etc., matplotlib collapses it into 0, 1, 2, ... + 2.003e+03. Is there a simple way to force matplotlib to write out the full numbers?

Thanks,
Mark C.

python matplotlib

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

如何在 C API 中创建 Python 字节对象

我有一个 s 的 Numpy 向量,我正在尝试使用 C API尽快从中bool获取对象。bytes(理想情况下,我想将向量的二进制值映射到字节对象。)

我可以成功读入向量并且我有数据bool_vec_arr。我想创建一个int并以这种方式设置它的位:

PyBytesObject * pbo; 
int byte = 0;
int i = 0;
while ( i < vec->dimensions[0] )  
{
    if ( bool_vec_arr[i] )
    {
        byte |= 1UL << i % 8;
    }
    i++;
    if (i % 8 == 0)
    {
        /* do something here? */
        byte = 0;
    }
}
return PyBuildValue("S", pbo); 
Run Code Online (Sandbox Code Playgroud)

但我不确定如何使用 中的 byte 值pbo。有没有人有什么建议?

python python-c-api python-3.x

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

如何在paramiko中写入stdin(从exec_command返回)?

我试图用paramiko写入自定义程序的stdin。这是一个最小的(非工作)示例:

〜/ stdin_to_file.py:

#! /usr/bin/python

import time, sys
f = open('/home/me/LOG','w')
while True:
    sys.stdin.flush()
    data = sys.stdin.read()
    f.write(data+'\n\n')
    f.flush()
    time.sleep(0.01)
Run Code Online (Sandbox Code Playgroud)

然后,我在IPython中执行以下命令:

import paramiko
s = paramiko.client.SSHClient 
s.load_system_host_keys()
s.connect('myserver')
stdin, stdout, stderr = s.exec_command('/home/me/stdin_to_file.py')
stdin.write('Hello!')
stdin.flush()
Run Code Online (Sandbox Code Playgroud)

不幸的是,〜/ LOG中什么也没有出现。但是,如果我这样做

$ ~/stdin_to_file.py < some_other_file
Run Code Online (Sandbox Code Playgroud)

some_other_file的内容显示在〜/ LOG中。

谁能建议我哪里出问题了?看来我在做合乎逻辑的事情。这些都不起作用:

stdin.channel.send('hi')
using the get_pty parameter
sending the output of cat - to stdin_to_file.py
Run Code Online (Sandbox Code Playgroud)

python unix paramiko ssh-tunnel

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

动态调整大小并将小部件添加到 Tkinter 窗口

我有一个 Python Tkinter GUI,它从用户那里请求文件名。我想在选择每个文件时在窗口中的其他位置添加一个条目()框 - 是否可以在tkinter中执行此操作?

感谢
马克

python user-interface tkinter

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