小编Glo*_*tas的帖子

有效地改变numpy数组的顺序

我有一个 3 维 numpy 数组。维度最大可达 128 x 64 x 8192。我想做的是通过成对交换来更改第一个维度的顺序。

到目前为止,我唯一的想法是按正确的顺序创建索引列表。

order    = [1,0,3,2...127,126]
data_new = data[order]
Run Code Online (Sandbox Code Playgroud)

我担心这不是很有效,但到目前为止我没有更好的想法

python numpy

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

更好的命令行解析python

使用argparse,我创建了一个小脚本,其中包含我的分析程序的命令行解析器,它是自制python包的一部分.它工作得很好,但我真的不喜欢如何控制它.

这是代码在脚本本身中的样子

def myAnalysis():

    parser = argparse.ArgumentParser(description='''
        lala''')
    parser.add_argument('-d', '--data',help='')
    parser.add_argument('-e', '--option_1', help='', default=False, required=False)
    parser.add_argument('-f', '--option_2', help='', default=False, required=False)


    # combine parsed arguments
    args = parser.parse_args()code here
Run Code Online (Sandbox Code Playgroud)

除此之外,分析包的安装文件中还有更多内容

entry_points={
          'console_scripts': [
              'py_analysis = edit.__main__:myAnalysis'
          ]
Run Code Online (Sandbox Code Playgroud)

正如我所说,这没有任何问题.分析我必须使用的一些数据

py_analysis --data path_to_data_file
Run Code Online (Sandbox Code Playgroud)

有时候,我需要一些选择.为此,它可能看起来很糟糕

py_analysis --data path_to_data_file --option_1 True --option_2 True
Run Code Online (Sandbox Code Playgroud)

就我个人而言,这有点难看.我更喜欢类似的东西

py_analysis path_to_data_file --option_1 --option_2
Run Code Online (Sandbox Code Playgroud)

我很确定这是可能的.我只是不知道如何

python argparse

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

在python中重新排序文件名

我有以下问题:

我需要加载几个数据文件.这些文件由我的设备命名,如:

meas98.dat
meas99.dat
meas100.dat
meas101.dat
Run Code Online (Sandbox Code Playgroud)

换句话说,没有前导零.因此,如果我通过文件名获取

os.listdir
Run Code Online (Sandbox Code Playgroud)

它们按字母顺序排列,意味着"meas100.dat"将是第一个.这显然不是我想要实现的目标.问题是这样做最优雅的方式是什么?

我想出的(不雅)方式是:

  • 加载文件名
  • 提取文件编号
  • 订购文件编号(获取索引)
  • 使用这些索引排序文件名

我很确定python有内置的东西,可以在加载文件时做到这一点......

python python-2.7 listdir

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

标签 统计

python ×3

argparse ×1

listdir ×1

numpy ×1

python-2.7 ×1