2017-07-07 45 views
1

作爲問題狀態,我不明白爲什麼輸出是在兩個單獨的行而不是一個。這裏是我的代碼:有人可以解釋爲什麼我的打印語句不能在一行上打印兩個變量嗎?

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中很容易。感謝您的任何意見。

回答

3

這是因爲每行都以新行字符'\n'結尾。你需要去除他們,使用說str.rstrip

 
for i, line in enumerate(currentFile): 
    line = line.rstrip() 
    if 'Date Released' in line: 
     print(line + ' ' + names) 
+0

哦,我的天啊...謝謝!我是python的新手,沒有意識到內置'\ n',在一兩天前開始使用它。 – Gator

相關問題