Есть один лайнер, чтобы прочитать все строки файла в Python, а не стандарт:Python файла Slurp
f = open('x.txt')
cts = f.read()
f.close()
Похоже, это сделано так часто, что там должен быть один- вкладыш. Есть идеи?
Есть один лайнер, чтобы прочитать все строки файла в Python, а не стандарт:Python файла Slurp
f = open('x.txt')
cts = f.read()
f.close()
Похоже, это сделано так часто, что там должен быть один- вкладыш. Есть идеи?
Это будет чавкать содержимое в одну строку в Python 2.6 и выше:
with open('x.txt') as x: f = x.read()
И это создаст список строк:
with open('x.txt') as x: f = x.readlines()
Эти подходы гарантировать немедленное закрытие входного файла сразу после чтения.
Сноска:
from __future__ import with_statement
.Старшего подход не гарантии немедленного закрытия является использовать это, чтобы создать одну строку:
f = open('x.txt').read()
И это, чтобы создать список строк:
f = open('x.txt').readlines()
На практике он будет немедленно закрыт в некоторых версиях CPython, но закрыт «только когда мусор коллекционер обходит его "в Jython, IronPython и, возможно, в будущей версии CPython.
Это то, что я бы догадался, но не знал, когда открытый файл будет закрыт. Благодаря! –
Если вы на Python3, убедитесь, что вы правильно соблюдать входную кодировку вашего файла и т.д .:
import codecs
with codecs.open(filename, 'r', encoding="utf8") as file:
cts = file.read()
Найти список кодеков имен в Python3 codec list. (Механизм также рекомендуется для Python2 всякий раз, когда вы ожидаете какой-либо вход, не содержащий ASCII)
Я хотел бы знать, почему это отклонено. –
Некоторые люди могут считать проблему кодирования не по теме. Кроме того, мой код не минимален: использование встроенного '' '' в 'open (filename, 'r', encoding = 'utf8')' будет сохранять оператор импорта и лучше отвечать на вопрос. –
Забавно, мне нужно было это снова, и я искал его. Никогда не думал, что мой собственный вопрос возникнет :) –
Я также продолжаю нахожу это, когда я действительно ищу http://stackoverflow.com/questions/1450393/how-do-you-read-from-stdin-in-python – tripleee