Python 为什么我的字符串中出现了不需要的换行符?

Python 为什么我的字符串中出现了不需要的换行符?,python,file-io,newline,readline,Python,File Io,Newline,Readline,这应该很简单,很愚蠢。但我不能让它工作。 我在读取文件时定义了一个标题: if "[gene=env]" in line or "[gene=HIV2gp7]" in line: header = line 现在这个标题看起来像是lcl | NC 001802.1 _prot _NP _057856.1 _8[gene=env]“我需要像这样附加一个数字: lcl|NC001802.1_prot_NP_057856.1_8[gene=env]1“ 我有100个相同的标题

这应该很简单,很愚蠢。但我不能让它工作。 我在读取文件时定义了一个标题:

    if "[gene=env]" in line or "[gene=HIV2gp7]" in line:
        header = line
现在这个标题看起来像是lcl | NC 001802.1 _prot _NP _057856.1 _8[gene=env]“我需要像这样附加一个数字: lcl|NC001802.1_prot_NP_057856.1_8[gene=env]1“

我有100个相同的标题,必须编号为1到100 但不管我怎么做,我都不能在同一行上找到号码。输出总是

>lcl|NC_001802.1_prot_NP_057856.1_8 [gene=env]
1
>lcl|NC_001802.1_prot_NP_057856.1_8 [gene=env]
2
等等

我试过:

number = 0
    for item in randoms[group_name]:
        number+=1
        headerx = str(header)+str(number)
        print(headerx)

和无数其他东西,但无法使其工作。

我假设您使用
readline
readlines
从文件中获取行-如果是这样,每行将以
\n
(换行符)字符结尾。你需要把它们脱掉:

line = line.rstrip('\n')

是的,那很有效,谢谢。我想知道为什么在不同的地方添加一个
+“\b”
没有任何效果。或者为什么
end='
只在
print
等很小的地方可用,Backspace字符将光标向后移动一个位置,这在您已经在新行时没有帮助。我同意,为
readline/s
设置
end
参数会很好
str.splitlines
具有
keepends
用于相同目的。