python打印输出不在同一个lin中

2024-09-29 21:52:40 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,当我试图用python在sameline中写出以下内容时, 实际输出与我预期的不完全一致。你知道吗

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]   

两条不同的线? 怎么了?谢谢!你知道吗


Tags: andinnewforcltagnotfilename
2条回答

我想你可能在cl有一个新词。您可以这样做:

clStr = str(cl).rstrip()
print clStr+"\t"+Tag[0]+"\t"+Tag[7]+"\t"+Tag[10]

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

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

这对于从文件中读取的行是很正常的;\n转义序列代表换行。你知道吗

相关问题 更多 >

    热门问题