有人可以解释为什么我的打印语句不能在一行上打印两个变量吗?
问题描述:
作为问题状态,我不明白为什么输出是在两个单独的行而不是一个。这里是我的代码:有人可以解释为什么我的打印语句不能在一行上打印两个变量吗?
import os
items=os.listdir("C:/output")
for names in items:
if names.endswith(".txt"):
with open('C:/output/' + names, encoding="utf8") as currentFile:
for i, line in enumerate(currentFile):
if ('Date Released' in line):
print(line + names)
else:
i = i + 1
if i > 11:
break
我已经尝试使用打印语句逗号如此:打印(行,名称),没有工作。我也尝试在打印语句的末尾使用.format(行,名称),但没有任何运气。
输出看起来是这样的:
Date Released: 12/14/2016
1393-004IP_ B_ C2 filename.txt
Date Released: 4/11/2017
1476-002 IP, filename.txt
Date Released: 9/25/2015
1987-XXX IP_B_filename.txt
Date Released: 4/9/2015
2044-002IP_A_C1 filename.txt
等
这将是非常有益的,以获得在同一行的日期和文件名,这样我就可以把它放到Excel中很容易。感谢您的任何意见。
答
这是因为每行都以新行字符'\n'
结尾。你需要去除他们,使用说str.rstrip
:
for i, line in enumerate(currentFile):
line = line.rstrip()
if 'Date Released' in line:
print(line + ' ' + names)
哦,我的天啊...谢谢!我是python的新手,没有意识到内置'\ n',在一两天前开始使用它。 – Gator