1

我有疑问,当我尝试在同一行中的 python 中找出以下内容时,实际输出并不完全符合我的预期。

for cl in lines:
    filename="superfamily_new_trail_"+str(cl)
    a=filename.strip()
    f=open(a,'r')
    lines2=f.readlines()
    for line2 in lines2:
        if (not "====="  in line2) and (not"CDD" in line2)and (len(line2)>30):
            Tag=line2.split("\t") 
            print cl+"\t"+Tag[0]+"\t"+Tag[7]+"\t"+Tag[10]

我希望我的输出是

cl    Tag[0]    Tag[7]       Tag[10]

但我实际打印出来的就像

cl 
       Tag[0]    Tag[7]     Tag[10]   

在两条不同的线?它出什么问题了?非常感谢!

4

2 回答 2

1

我想你可能在cl. 你可以这样做:

clStr = str(cl).rstrip()
print clStr+"\t"+Tag[0]+"\t"+Tag[7]+"\t"+Tag[10]
于 2013-07-08T15:30:04.970 回答
0

您的cl字符串末尾有一个额外的换行符。剥离它:

print cl.rstrip('\n')+"\t"+Tag[0]+"\t"+Tag[7]+"\t"+Tag[10]

这对于从文件中读取的行来说是很正常的。\n转义序列代表换行符。

于 2013-07-08T15:30:21.610 回答