У меня есть скрипт Python, который выводит файл в оболочку:
print open(lPath).read()
Если я передаю путь к файлу со следующим содержимым (без скобок, они просто здесь, поэтому видны новые строки):
> One
> Two
>
Я получаю следующий вывод:
> One
> Two
>
>
Откуда эта новая линия? Я запускаю скрипт с bash на системе Ubuntu.
использование
print open(lPath).read(), # notice the comma at the end.
print
добавляет новую строку. Если вы закончите оператор print
запятой, вместо этого будет добавлено пространство.
Вы можете использовать
import sys
sys.stdout.write(open(lPath).read())
Если вам не нужны какие-либо специальные функции print
.
Если вы переключитесь на Python 3 или используете from __future__ import print_function
на Python 2. 6+, вы можете использовать end
аргумент, чтобы остановить функцию print
от добавления новой строки.
print(open(lPath).read(), end='')
Может быть, вы должны написать:
print open(lPath).read(),
(обратите внимание на конечную запятую в конце).
Это предотвратит print
с новой строки в конце ее вывода.