Обрыв строки при использовании функции записи для записи в файл python - PullRequest
0 голосов
/ 05 марта 2020

Я использовал функцию записи и sys.stdout для печати в файл в скрипте python. Проблема в том, что в строке много символов, и она распадается на 2 строки при печати в файл. Я хочу, чтобы это было напечатано в одну строку.

Ex text- "Это текст, который я хочу напечатать в файле, но он заканчивается записью в две строки из-за длины" Выше приведен текст, который мне нужен, ниже вывод, который я получаю

write (text) или использование sys.stdout приводит к приведенному ниже тексту - строка вывода 1. «Это текст, который я хочу напечатать в файле, но в итоге он записывает« строку вывода 2. »в два строки из-за длины "Я использую код ниже,

out = subprocess.Popen(
    ['ls',path],
    stdout=subprocess.PIPE,
    stderr=subprocess.STDOUT
)
for i in out.stdout:
    if(re.search(r'(.*?)\.(out)',i)):
        s = p+path+i+q+i
        wp.write(s)

, где p, path, i, q - это разные строки, которые объединяются и записываются в файл , Извините за неправильный отступ, показанный здесь!

1 Ответ

0 голосов
/ 05 марта 2020

write() не добавляет символы новой строки на основе длины символа при записи в файл.

Из того, что вы показали, и после нашего обсуждения в комментариях я могу с уверенностью сказать, что либо p, path, i, либо q содержит новую строку ("\n") характер. (и учитывая, что path используется с ls, я очень сомневаюсь, что он находится в path!)

Добавьте еще одну строку кода после создания s, например:

if "\n" in s:
    print("Eureka! A new line exists!")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...