小编cod*_*ter的帖子

python 内置 vars() 函数的目的是什么?

我发现有关 vars() 函数的文档有点神秘:https : //docs.python.org/3/library/functions.html#vars

拥有这个功能的意义何在?为什么你会不只是打电话x.__dict__,而不是vars(x)或locals()直接?

有人会给出该功能的用例吗?

python

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

如何统计字母出现的频率

我有一个这样的数据

>sp|Q96A73|P33MX_HUMAN Putative monooxygenase p33MONOX OS=Homo sapiens OX=9606 GN=KIAA1191 PE=1 SV=1
RNDDDDTSVCLGTRQCSWFAGCTNRTWNSSAVPLIGLPNTQDYKWVDRNSGLTWSGNDTCLYSCQNQTKGLLYQLFRNLFCSYGLTEAHGKWRCADASITNDKGHDGHRTPTWWLTGSNLTLSVNNSGLFFLCGNGVYKGFPPKWSGRCGLGYLVPSLTRYLTLNASQITNLRSFIHKVTPHR
>sp|P13674|P4HA1_HUMAN Prolyl 4-hydroxylase subunit alpha-1 OS=Homo sapiens OX=9606 GN=P4HA1 PE=1 SV=2
VECCPNCRGTGMQIRIHQIGPGMVQQIQSVCMECQGHGERISPKDRCKSCNGRKIVREKKILEVHIDKGMKDGQKITFHGEGDQEPGLEPGDIIIVLDQKDHAVFTRRGEDLFMCMDIQLVEALCGFQKPISTLDNRTIVITSHPGQIVKHGDIKCVLNEGMPIYRRPYEKGRLIIEFKVNFPENGFLSPDKLSLLEKLLPERKEVEE
>sp|Q7Z4N8|P4HA3_HUMAN Prolyl 4-hydroxylase subunit alpha-3 OS=Homo sapiens OX=9606 GN=P4HA3 PE=1 SV=1
MTEQMTLRGTLKGHNGWVTQIATTPQFPDMILSASRDKTIIMWKLTRDETNYGIPQRALRGHSHFVSDVVISSDGQFALSGSWDGTLRLWDLTTGTTTRRFVGHTKDVLSVAFSSDNRQIVSGSRDKTIKLWNTLGVCKYTVQDESHSEWVSCVRFSPNSSNPIIVSCGWDKLVKVWNLANCKLK
>sp|P04637|P53_HUMAN Cellular tumor antigen p53 OS=Homo sapiens OX=9606 GN=TP53 PE=1 SV=4
IQVVSRCRLRHTEVLPAEEENDSLGADGTHGAGAMESAAGVLIKLFCVHTKALQDVQIRFQPQL
>sp|P10144|GRAB_HUMAN Granzyme B OS=Homo sapiens OX=9606 GN=GZMB PE=1 SV=2
MQPILLLLAFLLLPRADAGEIIGGHEAKPHSRPYMAYLMIWDQKSLKRCGGFLIRDDFVLTAAHCWGSSINVTLGAHNIKEQEPTQQFIPVKRPIPHPAYNPKNFSNDIMLLQLERKAKRTRAVQPLRLPSNKAQVKPGQTCSVAGWGQTAPLGKHSHTLQEVKMTVQEDRKCES
>sp|Q9UHX1|PUF60_HUMAN Poly(U)-binding-splicing factor PUF60 OS=Homo sapiens OX=9606 GN=PUF60 PE=1 SV=1
MGKDYYQTLGLARGASDEEIKRAYRRQALRYHPDKNKEPGAEEKFKEIAEAYDVLSDPRKREIFDRYGEEGLKGSGPSGGSGGGANGTSFSYTFHGDPHAMFAEFFGGRNPFDTFFGQRNGEEGMDIDDPFSGFPMGMGGFTNVNFGRSRSAQEPARKKQDPPVTHDLRVSLEEIYSGCTKKMKISHK
>sp|Q06416|P5F1B_HUMAN Putative POU domain, class 5, transcription factor 1B OS=Homo sapiens …
Run Code Online (Sandbox Code Playgroud)

awk sed bioinformatics fasta

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

如何将tar/dd屏幕输出重定向到文件?

我在下面有一些示例代码,我使用tar/dd将文件备份到磁带...

time tar -cvf - \
/home/user1 \
/home/user2 | dd bs=128k of=/dev/rmt0 2>&1 | tee -a debug.log
mail -s "testing" admin@domain.com < debug.log
Run Code Online (Sandbox Code Playgroud)

问题是当我运行这个时,以下内容被打印到屏幕上...

a /home/user1/fileA 10 blocks.
a /home/user2/fileB 1 blocks.
0+1 records in.
0+1 records out.

real    0m2.253s
user    0m0.003s
sys     0m0.002s
Run Code Online (Sandbox Code Playgroud)

但只有以下内容被重定向到日志文件...

cat debug.log
0+1 records in.
0+1 records out.
Run Code Online (Sandbox Code Playgroud)

有没有办法将所有输出重定向到日志?

我尝试在tar/dd管道之间添加tee命令,但是没有用.

这是在运行IBM AIX的系统上,因此我无法访问许多GNU工具.

bash shell aix ksh tar

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

Python - 为什么str.strip()会自动删除所有转义字符?

采样字符串:

a = '   \r\rwww someString www\r\r\n\n   '
Run Code Online (Sandbox Code Playgroud)

并取样以下两个结果.

[In]: a.strip()
[Out]: 'www someString www'

[In]: a.strip('w ')
[Out]: '\r\rwww someString www\r\r\n\n'
Run Code Online (Sandbox Code Playgroud)

Python docs对str.strip([chars])的评论是:

如果省略或None,则chars参数默认为删除空格

为什么它也删除所有转义字符?

python string

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

Linux shell输出命令到文件

我运行一个shell脚本,但没有得到输出到我的文件,只有日期回显到.log文件的第一行.任何人都可以解释为什么mongodump命令不会附加到.log文件?

#!/bin/sh
DEST=/db_backups/
DAYOFWEEK=`date +%u`
echo "---------------------- $(date) -----------------------" >> mongo_backup_output.log
mongodump --archive=$DEST$DAYOFWEEK.gz --gzip >> mongo_backup_output.log
Run Code Online (Sandbox Code Playgroud)

linux bash

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

在Bash脚本printf命令中缩进,而输出中没有缩进

我想在我的bash脚本中缩进,以便我的脚本看起来更有条理,但不希望打印空格.

如果我有命令

printf "<image>
        <<include etc/image.conf>>
        </image>" > file.txt
Run Code Online (Sandbox Code Playgroud)

我希望file.txt看起来像

<image>
<<include etc/image.conf>>
</image>
Run Code Online (Sandbox Code Playgroud)

代替

<image>
        <<include etc/image.conf>>
        </image>
Run Code Online (Sandbox Code Playgroud)

问题是我不希望我的脚本看起来像这样

While Loop
      If Statement
                printf "<image>
<<include etc/image.conf>>
</image>" > file.txt
                Command Here
      End If
End While
Run Code Online (Sandbox Code Playgroud)

我只是想让它看起来有点整洁

bash printf indentation

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

Bash函数不能返回大数

我写了以下bash脚本:

function getqsubnumber {
# Return how many simulations ($qsubnumber) are currently running

qsubnumber=`qstat | grep p00 | wc -l`

return $qsubnumber
}


getqsubnumber
qs=$?

if [ $qs -le $X ]
    then
        echo 'Running one more simulation'
        $cmd # submit one more job to the cluster
else
    echo 'Too many simulations running ... Sleeping for 2 min'
    sleep 120
Run Code Online (Sandbox Code Playgroud)

我的想法是我在集群上提交工作.如果有多个X作业同时运行,我想等待2分钟.

该代码适用于X=50和X=200.由于某些未知原因,它不起作用X=400.知道为什么吗?该脚本永远不会等待2分钟,它会继续提交作业.

linux bash shell terminal cluster-computing

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

Bash:grep为所有行返回true

我有几行(我不知道有多少).我通过烟斗发送给他们grep.我需要找出是否所有的线都被选中了grep.然后我需要写好(如果他们都被选中)或不好.我怎么能这样做?

bash grep

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

grep命令反转选项不起作用

我试图筛选出的线,包含拒绝的权限从find命令.

如果我跑步: find ~ -name "fifo" | grep "Permission denied"

该输出是正确的: find: ‘/home/nroby/.cache/dconf’: Permission denied find: ‘/home/nroby/.dbus’: Permission denied find: ‘/home/nroby/.config/enchant’: Permission denied

但是,如果我使用该-v选项:find ~ -name "fifo" | grep -v "Permission denied"

该输出是: find: ‘/home/nroby/.cache/dconf’: Permission denied find: ‘/home/nroby/.dbus’: Permission denied /home/nroby/Desktop/Linux/fifo find: ‘/home/nroby/.config/enchant’: Permission denied

linux bash

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

有人可以解释一下这个有效的 Bash 代码吗?

Naidim 回答了这个问题: 如何使用 bash 脚本替换文件名中的空格

这是我能为我工作的唯一答案,但我不明白我在看什么。

for f in *\ *; do mv "$f" "${f// /_}"; done
Run Code Online (Sandbox Code Playgroud)
  1. 我不知道 for 循环会使用这种基本语法搜索所有文件。
  2. 我看到了 mv 语句,但是那个命令扩展是什么?

bash whitespace replace

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