python печатает строку в нескольких строках

#python #string #file #io

#python #строка #файл #io

Вопрос:

У меня есть функция, которая может принимать только строки. (он создает изображение со строкой, но строка имеет небольшое форматирование и не переносит слова, поэтому длинная строка будет просто проходить через край изображения и продолжать уходить в бездну, хотя на самом деле я бы хотел, чтобы она создавала абзац, а не бесконечность в одну строку).

Мне нужно, чтобы это печаталось с разрывами строк. В настоящее время файл читается с использованием

 inputFiles.readlines()
  

так что это считывает весь файл. Сохранение file.readLines() создает список. Таким образом, этот список не может быть передан моей функции, ищущей строку.

Я использовал

 inputFileContent = ' n'.join(inputFiles.readLines())
  

в попытке принудительно выполнить жесткие разрывы строк в строке между каждым элементом списка. Это не работает (редактировать: уточнение здесь), что означает, что строка inputFileContent не имеет разрывов строк, даже если я поместил ‘ n’ между элементами списка. Насколько я понимаю, функция readLines() помещает отдельные строки в отдельные элементы списка.

есть предложения? Спасибо

Комментарии:

1. Что такое inputfiles ? Что означает «не работает»?

2. Пожалуйста, объясните, что вы имеете в виду, когда говорите, что это не работает. Покажите, что он делает и что вы хотите, чтобы он делал.

3. Пожалуйста, предоставьте информацию о функции, которую вы вызываете. Является ли это частью библиотеки? Как это документировано для работы?

4. Я открыл свой входной файл в vi и заметил, что там, где должны быть все разрывы строк, есть ^ M. Как я могу заставить python заметить это тоже, в настоящее время он видит весь файл как одну строку.

Ответ №1:

Используйте inputFiles.read() который создает строку. Помогает ли это?

Комментарии:

1. Эй, в жизни бывают вещи и похуже.

2. Да, как будто мы оба не пришли на следующую встречу по python, потому что она была забронирована до того, как вы ответили… О, неправильное окно чата…

Ответ №2:

‘Join’ должно было сработать. Ваша проблема может заключаться в том, что при написании строки игнорируются символы новой строки. Возможно, вы могли бы попробовать ‘ r n’.join(…)

Комментарии:

1. добавление r в микс также ничего не дало, я просто попытался использовать «readLine ()», чтобы проверить, выделяет ли это, и, к моему удивлению, python не видит жестких возвратов в моем inputFile

2. У меня получилось, мой файл нужно было прочитать с флагом U. Затем python распознал жесткие возвраты в файле.