Я использую следующий сегмент кода для чтения файла в Python:
with open ("data.txt", "r") as myfile:
data=myfile.readlines()
Входной файл:
LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN
GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE
и когда я печатаю данные, я получаю
['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN\n', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']
Как я вижу данные в list
форме. Как сделать строку? А также как я удалить "\n"
, "["
и "]"
символы из него?
Ответы:
Вы можете использовать:
источник
open("data.txt").read().replace('\n','')
?rstrip('\n')
удалит только новую строку из последней строки,replace('\n','')
удалит ее везде (по сути, сделав весь файл одной строкой)Используйте
read()
, а неreadline()
:источник
encoding="utf-8"
Вы можете прочитать из файла в одну строку:
Обратите внимание, что это не закрывает файл явно.
CPython закроет файл, когда он выйдет как часть сборки мусора.
Но другие реализации Python не будут. Чтобы написать переносимый код, лучше
with
явно использовать или закрыть файл. Короткая не всегда лучше. См. Https://stackoverflow.com/a/7396043/362951.источник
open
должны быть использованы вwith ... as
заявлении.with ... as
утверждение приносит что-то?with ... as
илиstr.close()
как показано в ответе Педро. Подробнее о важности закрытия файлов здесьstr()
Чтобы объединить все строки в строку и удалить новые строки, я обычно использую:
источник
В Python 3.5 или более поздней версии , используя pathlib, вы можете скопировать содержимое текстового файла в переменную и закрыть файл в одну строку:
и затем вы можете использовать str.replace для удаления новых строк:
источник
Функция join () присоединится к списку строк, а функция rstrip () без аргументов обрежет пробелы, включая переводы строк, с конца строк.
источник
Это можно сделать с помощью метода read ():
Или, поскольку сам режим по умолчанию - 'r' (чтение), просто используйте,
источник
Я возился с этим некоторое время и предпочел использовать
read
в сочетании сrstrip
. Безrstrip("\n")
, Python добавляет новую строку в конец строки, что в большинстве случаев не очень полезно.источник
Трудно точно сказать, что вы ищете, но что-то вроде этого должно помочь вам начать:
источник
data = ' '.join(line.replace('\n', '') for line in myfile)
или версия MagerValp.Я удивлен, что никто
splitlines()
еще не упомянул .Переменная
data
теперь является списком, который выглядит следующим образом при печати:Обратите внимание, что нет новых строк (
\n
).В этот момент звучит так, как будто вы хотите вывести обратно строки на консоль, чего можно добиться с помощью цикла for:
источник
Вы также можете раздеть каждую строку и объединить в окончательную строку.
Это также сработает.
источник
Вы можете сжать это в одну в две строки кода !!!
если ваш файл читает:
выход Python
источник
Это однострочное копируемое решение, которое также закрывает объект файла:
источник
источник
string += line
следует избегать. Некоторым версиям Python здесь удается избежать поведения O (n ^ 2), но любые другие ответы, которые были даны, лучше этого. Также вы не удалили запрошенные строки, поэтому ваш код - очень медленный способstring = f.read()
python3: Google "составление списка", если синтаксис квадратной скобки является новым для вас.
источник
Вы пробовали это?
источник
Я не чувствую, что кто-то ответил на [] часть вашего вопроса. Когда вы читаете каждую строку в вашей переменной, потому что до того, как вы заменили \ n на '', было несколько строк, вы в итоге создали список. Если у вас есть переменная х и распечатать его просто
Икс
или распечатать (х)
или ул (х)
Вы увидите весь список в скобках. Если вы называете каждый элемент (массив сортов)
x [0], тогда он пропускает скобки. Если вы используете функцию str (), вы увидите только данные, а не ''. ул (х [0])
источник
Может быть, вы могли бы попробовать это? Я использую это в своих программах.
источник
Регулярное выражение тоже работает:
источник
Для удаления разрывов строк с помощью Python вы можете использовать
replace
функцию строки.В этом примере удаляются все 3 типа разрывов строк:
Пример файла:
Вы можете попробовать это, используя этот сценарий воспроизведения:
https://repl.it/repls/AnnualJointHardware
источник
Это работает: измените ваш файл на:
Затем:
Это создает список с именем
words
, равным:Это избавилось от "\ n". Чтобы ответить на часть о скобках, мешающих вам, просто сделайте это:
Или:
Это возвращает:
источник
Этот код поможет вам прочитать первую строку, а затем, используя опцию list и split, вы можете преобразовать слово первой строки, разделенное пробелом, для сохранения в списке.
Чем вы можете легко получить доступ к любому слову или даже сохранить его в строке.
Вы также можете сделать то же самое с помощью цикла for.
источник
источник
Попробуйте следующее:
Внимание: не удаляет
\n
. Это просто для просмотра текста, как будто не было\n
источник