没有“\ n”但新线路正在制作中?

时间:2016-10-01 18:37:51

标签: python python-3.x

我的代码中没有\n但是当我打印出所有变量时,它会创建一个换行符,这意味着我的最后一个变量会打印在另一行上。

我的代码:

with open("read_it.txt", "r") as text_file:
    for items in text_file:
        line = items.split(",")
        if GTIN in items:
           product = line[1]
           indprice = line[2]
           finprice = float(indprice)* float(Quantity)
           print(GTIN,product,Quantity,"£",indprice,"£",finprice)

当前输出(错误):

086947367 banana 2 £ 0.50
 £ 1.0

我想:

86947367 banana 2 £ 0.50 £ 1.0

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:2)

当你在文件对象上调用readline时(你在for循环中隐式执行),它会留下尾随的'\ n'和/或'\ r'字符。在这种情况下,您的indprice变量仍然包含尾随'\ n'。

尝试:

line = items.strip('\r\n').split(',')

或者,如果它是一个小文本文件,你可以完全拉入内存:

for items in text_file.read().split('\n'):