小编Ear*_*ome的帖子

如何使用 argparse 指定最小或最大浮点值

如何使用 指定最小或最大浮点参数argprase?我希望能够在最小和最大浮点值之间提供命令行参数。

我能找到的最接近的是 中的choices选项add_argument(),但它只指定了参数的允许值。

parser.add_argument("L", type=float, choices=range(2))
Run Code Online (Sandbox Code Playgroud)

0.5L的命令行参数失败:

invalid choice: 0.5 (choose from 0, 1)
Run Code Online (Sandbox Code Playgroud)

python argparse

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

为什么perl仅在使用范围运算符时取消引用最后一个索引?

我有一个@array数组引用数组.如果我使用的范围内,通过操作者的3打印元件1 @array,print @array[1..3],perl的打印的元件1至3的阵列的引用.

为什么当我尝试取消引用索引在1和3之间的数组引用时@{@array[1..3]},perl只取消引用并打印出范围运算符中索引的最后一个元素?

有没有办法在解除引用数组时使用范围运算符?

示例代码

#!/bin/perl

use strict;
use warnings;

my @array = ();
foreach my $i (0..10) {
    push @array, [rand(1000), int(rand(3))];
}

foreach my $i (@array) {
    print "@$i\n";
}

print "\n\n================\n\n";

print @{@array[1..3]};

print "\n\n================\n\n";
Run Code Online (Sandbox Code Playgroud)

perl

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

按模式匹配的Perl排序数组

我想根据逗号后的值对此数组进行排序

my @coords;
$coords[0] = "33.7645539, -84.3585973";
$coords[1] = "33.7683870, -84.3559850";
$coords[2] = "33.7687753, -84.3541355";

foreach my $coord (@sorted_coords) {
    print "$coord\n";
}
Run Code Online (Sandbox Code Playgroud)

输出:

33.7687753, -84.3541355
33.7683870, -84.3559850
33.7645539, -84.3585973
Run Code Online (Sandbox Code Playgroud)

我曾考虑使用map,grep和capture groups作为列表输入sort,但我还没有走得太远:

my @sorted_coords = sort { $a <=> $b } map {$_ =~ /, (-*\d+\.\d+)/} @unique_coords;

sorting perl

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

显示mutt索引中的消息是否具有附件

如果邮件有附件,有没有办法让Mutt的索引显示?

这类似于Gmail在带附件的邮件旁边显示回形针的方式.

我可以使用附件来限制消息~X 1-15,但很高兴看到消息是否在索引中有附件.

mutt

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

通过sqlite3中的标题将.csv文件导入表

我需要根据 .csv 文件的标题将 .csv 文件导入到表中。.csv 文件的标题包含 sql 表的字段,但没有可选字段。sqlite3 有能力做到这一点吗?

例如,该表具有以下架构:

CREATE TABLE "Names" (
    id INTEGER PRIMARY KEY,
    first TEXT NOT NULL,
    middle TEXT,
    last TEXT NOT NULL
);
Run Code Online (Sandbox Code Playgroud)

.csv 包含:

id,first,last
1,"Jane","Doe"
2,"John","Doe"
3,"Nikola","Tesla"
Run Code Online (Sandbox Code Playgroud)

sqlite 是否能够根据 .csv 中的标题行将缺少字段的 .csv 文件加载到 sqlite 表中?

类似这样的事情: How to import load a .sql or .csv file into SQLite?

database sqlite

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

在Perl中对数组引用数组进行排序

概要

我正在尝试根据数组的第二个元素对数组引用数组进行排序.

例如,我想将以下数组@array排序到另一个排序数组中:

632.8 5
422.1 4
768.6 34
Run Code Online (Sandbox Code Playgroud)

这是结束阵列, @sorted_array

422.1 4
632.8 5
768.6 34
Run Code Online (Sandbox Code Playgroud)

试图代码

我遇到了这个答案,并略微修改了它.但是,我收到一个错误:Use of uninitialized value in print at .\test.pl line 17当我尝试取消引用已排序的数组时.

#!/bin/perl
use strict;
use warnings;

my @array = ();
foreach my $i (0..10) {
    push @array, [rand(1000), int(rand(100))];
}

foreach my $i (@array) {
    print "@$i\n";
}
print "================\n";

my $sorted_ref = sort_arr(\@array);
print @$sorted_ref;

sub sort_arr {
    my @arr = @$_[0];
    my @sorted_arr = sort …
Run Code Online (Sandbox Code Playgroud)

sorting perl

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

Perl捕获多个绑定运算符中的变量

有没有办法在多个绑定表达式中使用捕获组并捕获所有组?

#!/usr/bin/perl

use strict;
use warnings;

countDays(1,"2015-3-21","2016-3-24");

sub countDays {
    die "Check formatting"
        unless ($_[0] =~ m/([1-7])/ &&
                $_[1] =~ m/^(\d{4})-(\d{1,2})-(\d{1,2})$/ &&
                $_[2] =~ m/^(\d{4})-(\d{1,2})-(\d{1,2})$/);

            # testing
            print "$1\n$2\n$3\n$4\n$5\n$6\n$6\n";

}
Run Code Online (Sandbox Code Playgroud)

这只是抓住了最后三组:$1,$2,和$3.

编辑Avinash Raj建议的预期输出:

1
2015
3
21
2016
3
24
Run Code Online (Sandbox Code Playgroud)

regex perl capture-group

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

标签 统计

perl ×4

sorting ×2

argparse ×1

capture-group ×1

database ×1

mutt ×1

python ×1

regex ×1

sqlite ×1