小编ask*_*han的帖子

bash -x命令

我看到一个客户端正在执行$bash -x命令,以查看该文件是否可执行(或ksh -x命令等),就像shell脚本-x中的if语句一样.

我的问题是:什么是$bash -x命令吗?

我的解释是在当前shell中的新bash shell中启动一个命令,继承相同的环境变量并由同一个用户执行.

有趣的是我可以做$ls但不是$bash -x ls,这给了:

(在AIX 6下) /usr/bin/ls: /usr/bin/ls: cannot execute binary file

对我来说,错误的原因是一个谜 - 猜测它是由于一个特权,这意味着我的上述假设是不正确的.

另外,我相信$bash ls并且$bash -x ls是一回事(-x对于"执行")?

任何评论都非常感谢.

干杯!

bash

25
推荐指数
2
解决办法
4万
查看次数

如何在Mac OS上安装Haskell

我试图在我的Macbook上安装Haskell两天,但无法取得成功.

我做了什么:

$ brew install ghc
Run Code Online (Sandbox Code Playgroud)

精细.现在我正在尝试安装

$ cabal install text
Run Code Online (Sandbox Code Playgroud)

并获取下一条错误消息:

Data/Text.hs:1074:4:
     error: invalid preprocessing directive
      #-}
       ^
Run Code Online (Sandbox Code Playgroud)

我用Google搜索并找到了这个.

所以:

  • brew安装gcc48

    $ /usr/local/bin/gcc-4.8 --version  
    gcc-4.8 (GCC) 4.8.2
    Copyright (C) 2013 Free Software Foundation, Inc.
    This is free software; see the source for copying conditions.  There is NO
    warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
    
    $ cat /usr/local/lib/ghc-7.6.3/settings
      [("GCC extra via C opts", " -fwrapv"),
       ("C compiler command", "/usr/local/bin/gcc-4.8"),
       ("C compiler flags", " -m64 …
    Run Code Online (Sandbox Code Playgroud)

macos installation haskell

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

如何在numpy结构化数组中返回多个列的视图

例如,我可以通过索引字段名称列表,在结构化数组fields中一次看到多个列()numpy

import numpy as np

a = np.array([(1.5, 2.5, (1.0,2.0)), (3.,4.,(4.,5.)), (1.,3.,(2.,6.))],
        dtype=[('x',float), ('y',float), ('value',float,(2,2))])

print a[['x','y']]
#[(1.5, 2.5) (3.0, 4.0) (1.0, 3.0)]

print a[['x','y']].dtype
#[('x', '<f4') ('y', '<f4')])
Run Code Online (Sandbox Code Playgroud)

但问题是它似乎是一个副本而不是一个视图:

b = a[['x','y']]
b[0] = (9.,9.)

print b
#[(9.0, 9.0) (3.0, 4.0) (1.0, 3.0)]

print a[['x','y']]
#[(1.5, 2.5) (3.0, 4.0) (1.0, 3.0)]
Run Code Online (Sandbox Code Playgroud)

如果我只选择一列,那就是一个视图:

c = x['y']
c[0] = 99.

print c
#[ 99.  4.   3. ]

print a['y']
#[ 99.  4.   3. ]
Run Code Online (Sandbox Code Playgroud)

有没有什么方法可以同时获得多个列的查看行为?

我有两个解决方法,一个是循环遍历列,另一个是创建一个层次结构dtype,以便一列实际返回一个带有我想要的两个(或更多)字段的结构化数组.不幸的是, …

python arrays numpy

23
推荐指数
4
解决办法
7503
查看次数

Python统计信息:如何将其写入(人类可读)文件

我正在使用Python的热门分析器:http://docs.python.org/2/library/hotshot.html

它显示了如何打印统计数据:

stats.print_stats(20)
Run Code Online (Sandbox Code Playgroud)

但是我怎么把它变成文件呢?我不知道如何获取信息,因此我可以使用write()将其写入文件.

编辑:

我喜欢与以这种方式打印时相同的易读性结果:

stats = hotshot.stats.load("stones.prof")
stats.strip_dirs()
stats.sort_stats('time', 'calls')
stats.print_stats(20) 
Run Code Online (Sandbox Code Playgroud)

所以它看起来像这样:

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     1    3.295    3.295   10.090   10.090 pystone.py:79(Proc0)
Run Code Online (Sandbox Code Playgroud)

(所以当我打开stones.prof时它看起来不像)

python file-io profiling

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

检查numpy数组中的每个元素是否在另一个数组中

这个问题似乎很容易,但我不能得到一个漂亮的解决方案.我有两个numpy数组(A和B),我想获得A的索引,其中A的元素在B中,并且还得到A的索引,其中元素不在B中.

因此,如果

A = np.array([1,2,3,4,5,6,7])
B = np.array([2,4,6])
Run Code Online (Sandbox Code Playgroud)

目前我正在使用

C = np.searchsorted(A,B)
Run Code Online (Sandbox Code Playgroud)

它利用了A有序的事实,并给了我[1, 3, 5],元素的索引A.这很好,但我怎么得到D = [0,2,4,6],元素的索引A不在B

python numpy

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

matplotlib中有多行x刻度标签

我正在尝试制作类似于这个excel示例的绘图:

例

我想知道是否在x刻度标签上有第二层(例如"5年统计摘要").我知道我可以使用多行刻度标签,\n但我希望能够独立地移动这两个级别.

python matplotlib python-3.x

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

制作pyplot.hist()的第一个和最后一个包含异常值

pyplot.hist()文档指定在为直方图设置范围时"忽略较低和较高的异常值".

是否有可能使直方图的第一个和最后一个箱包含所有异常值而不改变箱的宽度

例如,假设我想看看0-3带有3个区间的范围:( 0-1, 1-2, 2-3为简单起见,我们忽略完全相等的情况).我希望第一个bin包含从负无穷大到1的所有值,最后一个bin包含从2到无穷大的所有值.但是,如果我明确地将这些箱子设置为跨越该范围,它们将非常宽.我希望他们有相同的宽度.我正在寻找的行为就像hist()在Matlab中的行为.

显然我可以numpy.clip()得到数据和情节,这将给我我想要的东西.但我感兴趣的是,如果有一个内置的解决方案.

python numpy matplotlib

17
推荐指数
2
解决办法
3514
查看次数

从系统默认更改IPython Notebook的浏览器

我想在我的Mac上保留firefox作为我的系统默认浏览器,但是在Chrome [1]中启动IPython Notebook .

这个答案让我得到了我的ipython_notebook_config.py文件,但我无法获得Chrome运行的实例.后c = get_config()import webbrowser,我已经试过:

  1. webbrowser.register(u'chrome', None, webbrowser.Chrome())

  2. webbrowser.register(u'chrome', webbrowser.Chrome)

  3. webbrowser.register(u'chrome', None, webbrowser.GenericBrowser('/Applications/Browsers/Chrome.app'))

  4. webbrowser.register(u'chrome', None, webbrowser.GenericBrowser('/Applications/Browsers/Chrome.app/Contents/MacOS/Google\ Chrome'))

全部紧随其后 c.NotebookApp.browser = u'chrome'

我已经webbbrowser在解释器中摆弄,并且无法弄清楚如何创建Chrome实例.


[1]:PS为什么IPython Notebook 在firefox中这么慢,特别是对于内联后端的pylab?它在chrome中的速度要快一些(渲染,滚动等).

browser macos ipython ipython-notebook

17
推荐指数
5
解决办法
2万
查看次数

索引numpy数组的中间?

要索引numpy数组的中间点,可以执行以下操作:

x = np.arange(10)
middle = x[len(x)/4:len(x)*3/4]
Run Code Online (Sandbox Code Playgroud)

是否有索引数组中间的简写?例如,n2n元素接近len(x)/2?这有一个很好的n维版本吗?

python numpy

15
推荐指数
2
解决办法
8898
查看次数

在边界处具有约束的样条

我在三维网格上测量了数据,例如f(x, y, t).我想在t样条方向上插入和平滑这些数据.目前,我这样做scipy.interpolate.UnivariateSpline:

import numpy as np
from scipy.interpolate import UnivariateSpline

# data is my measured data
# data.shape is (len(y), len(x), len(t))
data = np.arange(1000).reshape((5, 5, 40))  # just for demonstration
times = np.arange(data.shape[-1])
y = 3
x = 3
sp = UnivariateSpline(times, data[y, x], k=3, s=6)
Run Code Online (Sandbox Code Playgroud)

但是,我需要样条曲线消失导数t=0.有没有办法强制执行此约束?

python spline scipy

15
推荐指数
2
解决办法
2146
查看次数