小编gr0*_*0bz的帖子

修改Python"请求"模块响应对象

我正在使用Python"请求"模块请求HTTP API.

result = requests.get(api_url)
Run Code Online (Sandbox Code Playgroud)

响应采用JSON格式,并包含一个"数据"键,它是一个字典.出于某些原因,我必须在脚本中进一步提出第二个请求,并且我正在尝试result.json['data']使用第二个(result2.json['data'])更新第一个字典().

我试过这个:

result.json['data'].update(result2.json['data'])
Run Code Online (Sandbox Code Playgroud)

还有这个:

for key,value in dict(result2.json['data']).iteritems():
    result.json['data'][key] = value
Run Code Online (Sandbox Code Playgroud)

但这些都没有奏效,最终result.json['data']没有修改,只包含第一项.

所以我想知道Python"请求"模块是否会产生一些"只读"对象的王者,或者我是否只是遗漏了一些东西.

python json dictionary

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

如何让Getopt :: Long + pod2usage工作?

我准备好了,所以我在这里:)

我正在尝试为我的Perl程序制作文档,但我从来没有设法让Getopt :: Long和pod2man工作.

这是我为测试目的编写的一个简单程序:

#!/usr/bin/perl
use strict;
use warnings;
use Getopt::Long;
use Pod::Usage;

Getopt::Long::Configure ("bundling");

my $option = "";
my $verbose = 1;
my $quiet = 0;
my $man = 0;
my $help = 0;

GetOptions (
        "option=s" => \$option,
        "verbose" => sub { $verbose = 1; $quiet = 0 },
        "quiet|noverbose" => sub { $verbose = 0; $quiet = 1 },
        "help|?" => \$help,
        man => \$man
) or pod2usage("Error in command line.\n");

pod2usage(1) if $help;
pod2usage(-exitval => …
Run Code Online (Sandbox Code Playgroud)

perl manual getopt

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

如何在Perl中仅声明数组的子集?

我要做这样的事情:

my ($sec,$min,$hour,$day,$mon,$year,$wday,$yday,$isdst) = localtime(time);
Run Code Online (Sandbox Code Playgroud)

但我不需要所有这些变量(只需要$ min,$ hour,$ mon,$ year).

是否有一个简单的解决方案只在perl中声明必填字段?

对我来说一个简单的解决方案就是这个,但它不是真正的"性感":

my @day = localtime(time);
my $min = $day[1];
my $hour = $day[2];
my $day = $day[3];
...
Run Code Online (Sandbox Code Playgroud)

提前感谢任何能够给我一些想法的人:)

arrays perl subset

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

标签 统计

perl ×2

arrays ×1

dictionary ×1

getopt ×1

json ×1

manual ×1

python ×1

subset ×1