我有一個打印出一個文件到外殼Python腳本:打印從Python中的read()增加了一個額外的換行符
print open(lPath).read()
如果我在的路徑傳遞到一個文件中有以下內容(沒有括號,他們只是在這裏這麼換行符可見):
> One
> Two
>
我得到以下輸出:
> One
> Two
>
>
額外的換行符來自哪裏?我在Ubuntu系統上用bash運行腳本。
我有一個打印出一個文件到外殼Python腳本:打印從Python中的read()增加了一個額外的換行符
print open(lPath).read()
如果我在的路徑傳遞到一個文件中有以下內容(沒有括號,他們只是在這裏這麼換行符可見):
> One
> Two
>
我得到以下輸出:
> One
> Two
>
>
額外的換行符來自哪裏?我在Ubuntu系統上用bash運行腳本。
使用
print open(lPath).read(), # notice the comma at the end.
print
增加了一個換行符。如果用逗號結束print
語句,它將添加空格。
您可以使用
import sys
sys.stdout.write(open(lPath).read())
如果你不需要任何的print
的特殊功能。
如果切換到Python 3或Python的2.6+使用from __future__ import print_function
,你可以使用end
參數從添加一個新行停止print
功能。
print(open(lPath).read(), end='')
也許你應該寫:
print open(lPath).read(),
(通知在末尾的尾隨逗號)。
這會阻止print
在其輸出結尾處放置一條新線。
謝謝,我是Python新手! –