小编Zii*_*Zii的帖子

python2和python3之间的区别 - int()和input()

我在下面写了python代码.我发现python2和python3对于1.1的输入有完全不同的运行结果.为什么python2和python3之间有这样的区别?对我来说,int(1.1)应该是1,那么position是0,1,2范围内的有效索引1.所以你能解释为什么python3有这样的结果吗?

s=[1,2,3]
while True:
  value=input()
  print('value:',value)
  try:
    position=int(value)
    print('position',position)
    print('result',s[position])
  except IndexError as err:
    print('out of index')
  except Exception as other:
    print('sth else broke',other)


$ python temp.py
1.1
('value:', 1.1)
('position', 1)
('result', 2)


$ python3 temp.py
1.1
value: 1.1
sth else broke invalid literal for int() with base 10: '1.1'
Run Code Online (Sandbox Code Playgroud)

python python-3.4

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

为什么pstree中显示的某些进程没有在ps -ef中显示?

作为标题,我在Linux的sh shell中运行上面的命令,但是我通过运行"ps -ef | grep dummy"找不到pid 7459的子进程.有人可以解释为什么这两个命令之间会有这样的差异吗?它们是活动进程,而不是LWP(线程),对吧?我怎样才能显示线程,顺便说一下?

sh-3.2$ pstree -p  7459
dummy(7459)-+-{dummy}(7508)
            |-{dummy}(7528)
            |-{dummy}(7529)
            |-{dummy}(7530)
            |-{dummy}(7551)
            |-{dummy}(7552)
            |-{dummy}(7553)
            `-{dummy}(7554)
sh-3.2$ ps -ef | grep dummy
root      7459  7167  0 Aug28 ?        00:09:13 /usr/bin/dummy
erv      23720 17254  0 13:22 pts/4    00:00:00 grep dummy
sh-3.2$ 
Run Code Online (Sandbox Code Playgroud)

linux shell pstree

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

perl中的|| = []是什么?

下面的数组@{$violated{$desc}||=[]}在下面的子程序中意味着什么?我理解的 @{$violated{$desc}}是被引用的匿名数组$violated{$desc}.

sub not_in_file_ok {
    my ($filename, %regex) = @_;
    open( my $fh, '<', $filename ) or die "couldn't open $filename for reading: $!";
    my %violated;
    while (my $line = <$fh>) {
        while (my ($desc, $regex) = each %regex) {
            if ($line =~ $regex) {
                push @{$violated{$desc}||=[]}, $.;
            }
        }
    }
    if (%violated) {
    fail("$filename contains boilerplate text");
    diag "$_ appears on lines @{$violated{$_}}" for keys %violated;
    } else {
    pass("$filename contains no boilerplate text"); …
Run Code Online (Sandbox Code Playgroud)

arrays perl reference

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

perl如何处理具有不同引用的模式?

正如https://perldoc.perl.org/perlrun.html所示,

-F选项指定要为-a拆分的模式.该模式可以用//,""或"''包围,否则它将被放在单引号中.您不能在模式中使用文字空格或NUL字符.

我在文本上尝试了以下命令,但结果完全相同.

那么下面例子中这些模式引用的区别是什么?

$ perl -aF"\|" -lne 'print $F[0]' input
Time
2018-01-11 00:00:00
2018-01-11 00:15:00

$ perl -aF'\|' -lne 'print $F[0]' input
Time
2018-01-11 00:00:00
2018-01-11 00:15:00

$ perl -aF/\|/ -lne 'print $F[0]' input
T
2
2

$ perl -aF"|" -lne 'print $F[0]' input
T
2
2

$ perl -aF'|' -lne 'print $F[0]' input
T
2
2


$ perl -aF/|/ -lne 'print $F[0]' input
bash: /: Is a directory
Run Code Online (Sandbox Code Playgroud)

perl sh quotations

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

标签 统计

perl ×2

arrays ×1

linux ×1

pstree ×1

python ×1

python-3.4 ×1

quotations ×1

reference ×1

sh ×1

shell ×1