小编Sig*_*mun的帖子

在bash脚本中测试stdout和stderr重定向

我想在我的bash脚本中测试stdout和stderr的定向,或者更确切地说,如果它们已被重定向.

你有个主意吗?

$*bash的变量不给我这个信息.

bash stdout stderr

16
推荐指数
2
解决办法
4780
查看次数

如何为f2py记录fortran函数?

我想使用docstring或类似的东西记录我的fortran例程,这些例程可以与python help命令一起使用.由f2py生成的自动生成的文档字符串是不够的,我需要添加更多细节,就像我们使用python函数docstring一样.

在我的想法中,它应该看起来像:

mymod.f:

subroutine foo()
! This is my function
end subroutine
Run Code Online (Sandbox Code Playgroud)

并在python会话中:

>>> import mymod
>>> help(mymod.foo)
Run Code Online (Sandbox Code Playgroud)

python fortran docstring f2py

14
推荐指数
1
解决办法
593
查看次数

如何更改pylab窗口背景颜色?

我想改变matplotlib交互式(pylab)窗口的背景颜色(从灰色到白色)?我能怎么做 ?

matplotlib

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

Bash循环目录包括隐藏文件

我正在寻找一种方法来在我的目录包含的所有内容上进行bash的简单循环,即文件,目录和包含隐藏的链接.

我更愿意,如果它可以特别在bash中,但它必须是最一般的.当然,文件名(和目录名)可以有空格,断行,符号.除了"/"和ASCII NULL(0×0)之外的所有内容,即使在第一个字符处也是如此.此外,结果应排除'.' 和'..'目录.

这是循环必须处理的文件生成器:

#!/bin/bash
mkdir -p test
cd test
touch A 1 ! "hello world" \$\"sym.dat .hidden " start with space" $'\n start with a newline' 
mkdir -p ". hidden with space" $'My Personal\nDirectory'
Run Code Online (Sandbox Code Playgroud)

所以我的循环应该看起来像(但必须处理上面棘手的东西):

for i in * ;
  echo ">$i<"
done
Run Code Online (Sandbox Code Playgroud)

我最接近的尝试是使用ls和bash数组,但它无法使用,是:

IFS=$(echo -en "\n\b")
l=( $(ls -A .) )
for i in ${l[@]} ; do
echo ">$i<"
done
unset IFS
Run Code Online (Sandbox Code Playgroud)

或者使用bash数组,但不排除".."目录:

IFS=$(echo -en "\n\b")
l=( [[:print:]]* .[[:print:]]* )
for i in ${l[@]} ; …
Run Code Online (Sandbox Code Playgroud)

linux bash

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

如何使用 matplotlib 将 timedelta 绘制为值

我试图绘制关于某些迭代值的持续时间(以秒为单位)。我通过减去两个日期时间值来计算持续时间值。然后,我想使用现有工具以非常简单的方式绘制这些结果。

我的代码如下,但它还不起作用:

#!/usr/bin/env python

import datetime
import matplotlib.pyplot as plt
from numpy import arange

it = arange(10)
durations = [datetime.timedelta(hours=h+30) for h in it]

plt.plot(it, durations)

plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

TypeError: float() argument must be a string or a number
Run Code Online (Sandbox Code Playgroud)

我知道我可以通过使用 datetime 而不是 timedelta 来使其工作,但我的目标是以小时为单位(大约 40 小时)绘制持续时间,因此渲染效果不佳。

python matplotlib timedelta

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

在 zipfile 中的文件上使用 numpy.load

我有一个包含许多NPY文件的压缩文件(file1.npyfile2.npyfile3.npy,...)。我想单独加载它们而不在文件系统上提取 zipfile。我已经尝试了很多东西,但我无法弄清楚。

我的猜测是:

import zipfile
import numpy as np

a = {}

with zipfile.ZipFile('myfiles.zip') as zipper:
    for p in zipper.namelist():
        with zipper.read(p) as f:
            a[p] = np.load(f)
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

python numpy zipfile

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

标签 统计

python ×3

bash ×2

matplotlib ×2

docstring ×1

f2py ×1

fortran ×1

linux ×1

numpy ×1

stderr ×1

stdout ×1

timedelta ×1

zipfile ×1