Python: обработка файлов

Сначала откройте файл

[Python] Plain View Copy
OpenFile = Open ( '../ Files / exampleFile.txt', 'A')
Описание:
1. Первым параметром является имя файла, включая путь может быть относительным путем ./, может быть абсолютный путь "D: \ test.txt";
2. второй параметр является открытым режим, включающий R & LT, W, A, R & л +
'R & л': только для чтения ( по умолчанию , если файл не существует, выдается ошибка. )

FileNotFoundError: [Errno 2] Нет такого файла или каталога: «../Files/exampleFile.txt»
„W“: только для записи (если файл не существует, создайте файл), файл обычно W
„A“: пристроен к файлу конец (если файл не существует, создать файл)
«+ R & Lt»: запись (если файл не существует, выдается ошибка)
FileNotFoundError: [Errno 2] нет такого файла или каталога:»../Files/exampleFile.txt "
Если вам нужно открыть файл в двоичном режиме, необходимо добавить символ„Ъ“в режиме назад, такие как„гб“„термометр“и т.д., обычно используемые фотографии ВБ

Во- вторых, чтение содержимого
1. openFile.read (размер)
параметр представляет собой количество размера чтения, он может быть опущен. Если опустить параметр размера, а затем прочитать все содержимое файла.
2. openFile.readline ()
прочитать содержимое файла строки
3. openFile.readlines () ,
чтобы прочитать все строки в массиве , который [line1, line2, ... льняной] . Избегайте загрузки содержимого всех файлов в памяти, этот метод часто используется для содействия улучшению эффективности.
Если вы хотите , чтобы отобразить содержимое файла, вам нужно распечатать для печати: печать (openFile.readline ())

В- третьих, записать файл
1. openFile.write ( «Sample \ п» ) в
виде строки в файл, если конец записи, необходимо добавить «\ п» в конце строки, а затем openFile.close () закрывает файл
при необходимости дополнительного содержания, параметры должны «а» при открытии файла, добавляемый к концу файла , а если содержание наложения, параметр «ш» покрытие

В- четвертых, найти содержимое файла в
1.openFile.read ()
в конце указателя файла после чтения содержимого файла достигнут, если снова openFile.readline () найдет , что чтение содержимого пуст,
если вы хотите читать снова первый линии, необходимо поместить указатель файла в исходное положение:
2.openFile.seek (0)
формат этой функции следующим образом (в единицах байт): openFile.seek (смещения, from_what)
from_what указывает положение , чтобы начать чтение, смещение составляет от from_what затем переместить определенное количество расстояния,
например openFile.seek (28,0) представляет собой целевые символы 0 , а затем переехал обратно до 28 символов. from_what значение 0 указывает на начало файла, он может быть опущен, то по умолчанию 0, начиная с документа.

В- пятых, закрыть релиз файла ресурсов
1.openFile.close ()
операции с файлом завершена, мы должны помнить , чтобы закрыть файл f.close (), Вы можете высвободить ресурсы для других программ

В- шестых, читать содержимое записываемые в файл
открыт ( «../ Files / file.txt» , „а“). Write (openFile.read ())
прочтет приобретение контента нам необходимо внести дополнительные файл

Как правило , мы файл проделаем следующие:
1. Откройте файл> Read File> Close File

[Python] Plain View Copy

OpenFile = Open ( '../ Files / exampleFile.txt', 'R & л')
Print ( "читать все содержание: \ n-" + openFile.read ())
openFile.seek (0)
Распечатать ( "первая строка следующего содержания : \ п - '+ openFile.readline ())
openFile.seek (28,0)
" содержание читать стартовую позицию 28 символов обратно: "печать (+ openFile.read ( ))
openFile.close ()
2. открыть файл> записать файл> Закрыть файл

[питон] вид обычная копия
OpenFile = открыт ( '../ Files / exampleFile.txt', 'а')
openFile.write ( 'Sample \ п')
openFile.close ()

3. Откройте файл> читать файл> Прочитать файл записывается в новый файл> закрыть файл

[Python] Plain View Copy
OpenFile = Open ( '../ Files / exampleFile.txt', 'R & л')
Print ( "читать все содержание: \ n-" + openFile.read ())
openFile.seek (0)
Распечатать ( "первая строка следующего содержания : \ п - '+ openFile.readline ())
openFile.seek (28,0)
" содержание читать стартовую позицию 28 символов обратно: "печать (+ openFile.read ( ))
openFile.seek (0)
Open ( '../ Files / File.txt', 'A'). Написать (openFile.read ())
openFile.close ()

 

Чтение файла

Открывает файл (объект файла возвращает открытым (), который является повторяющимся) с помощью метода Open ():

F = Открыть >>> ( «test.txt», «R & л»)
R & представление л представляет собой текстовый файл, Р.Б. является двоичным файлом. (Этот режим по умолчанию значение параметра г)

Если файл не существует, открытая функция () выдаст ошибку IOError и дает подробную информацию о коде ошибки и сказать вам файл не существует:

F = Открыть >>> ( 'test.txt', 'R & л')
Traceback (MOST Последние Last Call):
. Файл "<STDIN>", строка 1, в <Module1>
FileNotFoundError: нет [Errno 2] Нет файла или каталога ТАКИЕ : «test.txt»
файл должен быть закрыт после завершения использования, так как объект файла будет занимать ресурсы операционной системы, и операционная система в то же время количество файлов , которые могут быть открыты ограничена

>>> f.close ()
из - за IOError, вероятно, создать файл для чтения и записи, как только ошибка, обратно f.close () не будет вызываться. Поэтому, для того , чтобы гарантировать , может ли ошибка должным образом закрыть файл, мы можем использовать попробовать ... наконец понял:


попробуйте:
F = открыт ( '/ путь / к / файлу', 'г')
печати (f.read ()) ,
наконец:
если F:
f.close ()

Но каждый настолько реалистично, слишком громоздкий, так, Python введена с заявлением автоматически помогут нам вызвать метод Close ():

Открыть с помощью ( '/ путем / к / Файлу', 'R & л') AS F:
Печать (достигнуто, f.read ())
объект файла Python предоставляет три "читать" метод: чтение (), Readline () и readlines () , Каждый метод может принимать переменный , чтобы ограничить объем данных , считываемые каждый раз.

чтения () каждый читать весь файл, файл обычно используется содержимое в переменную строки. Если файл больше доступной памяти, чтобы быть в безопасности, вы можете вызвать метод несколько раз прочитать (размер), каждый дочитать до размера байт содержимого.
Разница между () является readlines читать весь файл один раз последнего, как .read () то же самое. .readlines () автоматически анализирует содержимое файла в список строк, этот список может быть обработан структурой в ... Python для ....
Readline () считывает только одну строку каждый раз, как правило , гораздо медленнее , чем readlines (). Только тогда , когда не хватает памяти , чтобы один раз прочитать весь файл, вы должны использовать Readline ().
Примечание: Эти три метода конец каждой строки «\ п» прочитать пришел, это не по умолчанию «\ п» удалена, необходимо удалить вручную.

В работе [2]: с открытой ( 'test1.txt', 'R') как f1:
песни1 = f1.readlines ()
В работе [3]: list1
Out [3]: [ '111 \ п', «222 \ п », '333 \ N', '444 \ N', '555 \ N', '666 \ N']
去掉'\ N'


В [4]: с открытой ( 'test1.txt', 'R') как f1:
песни1 = f1.readlines ()
для I в диапазоне (0, длина (список1)):
список1 [I] = песни1 [I] .rstrip ( '\ п')
В работе [5]: list1
Out [5]: [ '111', '222', '333', '444', '555', '666']

Для чтения () и Readline () является «\ п» читать, но когда вы можете печатать обычный дисплей (из-за печати в «\ п» новой строки считается значение)


В работе [7]: с открытой ( '' test1.txt, 'г') как f1:
песни1 = f1.read ()
В работе [8]: песни1
Выход [+8]: «111 \ N222 \ n333 \ N444 \ n555 \ n666 \ п»
в [9]: печать (песни1)
111
222
333
444
555
666

В работе [10]: открытое (с 'test1.txt', 'R') как f1:
песни1 = f1.readline ()
В работе [11]: песни1
Out [11]: '111 \ п'
в [12]: печать (песни1)
111

Примеры питона лица вопросы:

Есть два файла, каждые со многим адресом строки IP, найти тот же адрес IP-два файла:


# Кодирования: UTF-8
импорта разрез`ать

с открытой ( 'test1.txt', 'R') как f1:
песни1 = f1.readlines ()
для I в диапазоне (0, длина (список1)):
список1 [I] = песни1 [I] .strip ( '\ п ')
с открытым (' test2.txt», 'R') , как f2:
песни2 = f2.readlines ()
для I в диапазоне (0, длина (List2)):
песни2 [I] = песни2 [I] .strip ( '\ п')

list2.sort ()
LENGTH_2 = Len (песни2)
same_data = []
для я в list1:
пос = bisect.bisect_left (песни2, я) ,
если поз <длина (песни2) и песни2 [поз] == я:
same_data.append ( я)
same_data = список (набор (same_data))
печать (same_data)

Дело в том,: (1) с (2) в конце технологической линии «\ п» (3), используя алгоритм двоичного поиска для повышения эффективности. (4) используют, чтобы быстро повторно установить.

 

Запись файла

Запись файлов и чтения документов тот же, разница лишь в том, что вызов, чтобы открыть функцию (), входящий идентификатор «W» или «» Wb для записи текстовых файлов или записи двоичных файлов:

>>> е = открыт ( 'test.txt' , 'ж') # если 'термометру говорит писать бинарные файлы
>>> f.write ( далее 'Привет, мир!')
>>> f.close ()
Примечание : «ш» это режим Цзян Цзы: Если у вас нет этого файла, вы создаете, если да, то он будет сначала очистить содержимое исходного файла , а затем написать что - то новое. Так что если мы не очистить исходное содержание , но добавили новое содержание непосредственно в задней части , на использовании «а» в этом режиме.

Мы можем назвать несколько раз писать () для записи в файл, но не забудьте вызвать f.close (), чтобы закрыть файл. Когда мы пишем файл, операционная система часто не сразу записать данные на диск, но кэшируются в памяти, свободное время, а затем медленно писать. Только вызвать метод Close (), операционная система должна была гарантировать, что данные не записываются все записи на диск. Забудьте называть близко () последствие данных может быть записана только часть диска, а остальное теряется. Так, до сих пор приходят со страховкой с заявлением:

Открыть с помощью ( 'test.txt', 'W') AS F:
( '! Привет, мир') f.write
объект файла Python обеспечивает два "записи" подход: запись () и writelines ().

Способ записи () и чтения (), Readline () соответствует строка записывается в файл.
Метод метод writelines () и readlines () , соответствующий, но и для списка операций. Он принимает в качестве параметров список строк, чтобы записать их в файл, символ новой строки не добавляется автоматически, поэтому требует явного присоединиться разрывы строк.

Open = F1 ( 'test1.txt', 'W')
f1.writelines ([, "2", "1" ." 3" . ])
Содержание # test1.txt в это время: 123

Открыть = F1 ( 'test1.txt', 'W')
f1.writelines ([ "1 \ п", "2 \ п", "3 \ п."])
# Test1.txt содержание в это время выглядит следующим образом :
# 1
# 2
# 3

 

Об открытый () параметр режима:

'R': Чтение

'W': написать

'A': Append

«R +» == г + ш (для чтения и записи, если файл существует на ошибку (IOError))

== «» W + W + R (чтения и записи, файл будет создан, если он присутствует)

'A +' == A + R (записываемый могут быть добавлены, если есть файл, созданный)

Переписка, если это двоичный файл, вы можете добавить в тысячу миллионов б:

'RB' 'мы' 'ребенок' 'RB +' 'I +' горький '+'

 

file_obj.seek (смещение, откуда = 0)

file_obj.seek (смещение, откуда = 0) метод используется для перемещения указателя файла в файле. смещение указывает на то, сколько коррекций. Откуда необязательный параметр указывает на то, где начать смещение 0 для начала файла по умолчанию, текущей позиции 1, 2 для конца файла. Например:


Open = F ( далее "test1.txt", "A +")
Печать (достигнуто, f.read ())
f.write (». 1' )
f.seek (0, 0) # Файл указатель с конца к началу, это не следующее предложение для чтения () участие меньше , чем правая вещь для
печати (f.read ())
f.close ()

Примечание: только изменить указатель файла применяется к «г», на «W» и «а» не будет работать, если это «ш», то запись () всегда с начала записи (перезаписи соответствующей задней позиции содержание), то «а», то писать () всегда будет начинаться с последнего добавил.

Кодировка символов

Для чтения не являющиеся UTF-8, закодированных текстовых файлов, необходимо открыть функцию () передавая параметр кодирования, например, прочитать GBK закодированных файлов:

Р = Открыть >>> ( 'test.txt', 'г', кодирование = 'GBK')
>>> f.read) (
'тест'
файла встречается какой- либо нестандартный кодирования, вы можете столкнуться с UnicodeDecodeError, потому что в текстовом файле могут быть смешаны с некоторыми из незаконного кодировки символов. В таких случаях, открытая функция () также принимает ошибку параметров, если опыт показывает , как кодирование обработки ошибок. Самый простой способ это просто игнорировать:

>>> F = открыт ( 'test.txt', 'R', 'кодирующая GBK' =, ошибки = 'игнорировать')

рекомендация

отwww.cnblogs.com/cathyS/p/10956076.html