我的代码中没有\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
任何帮助表示感谢。
答案 0 :(得分:2)
当你在文件对象上调用readline时(你在for循环中隐式执行),它会留下尾随的'\ n'和/或'\ r'字符。在这种情况下,您的indprice变量仍然包含尾随'\ n'。
尝试:
line = items.strip('\r\n').split(',')
或者,如果它是一个小文本文件,你可以完全拉入内存:
for items in text_file.read().split('\n'):