有人可以解释为什么我的打印语句不能在一行上打印两个变量吗?

问题描述:

作为问题状态,我不明白为什么输出是在两个单独的行而不是一个。这里是我的代码:有人可以解释为什么我的打印语句不能在一行上打印两个变量吗?

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) 
+0

哦,我的天啊...谢谢!我是python的新手,没有意识到内置'\ n',在一两天前开始使用它。 – Gator