Работа с файлами
- Python для сетевых инженеров. Работа с файлами
 - Файлы в python, ввод-вывод
 - Основы работы с файлами в Python
 
Обычно
Прочитать файл целиком
f = open('path_to/file.txt', mode)
    text = f.read()
f.close()
где mode - режим работы с файлом: 'r' - read; 'a' - append; 'w' - write
'r'- Открыть файл только для чтения (значение по умолчанию)'w'- Открыть файл для записи. Если файл существует, то его содержимое удаляется'a'- Открыть файл для добавления записей. Данные добавляются в конец файла'r+'- Открыть файл для чтения и записи. Проверь это!- если файл существует, то его содержимое удаляется.
 - если файл не существует - будет вызвано исключение.
 
'w+'- открыть файл для чтения и записи- если файл существует, то его содержимое удаляется
 - если файл не существует, то создается новый
 
'a+'- открыть файл для чтения и записи. Данные добавляются в конец файла- если файл существует, что тут?
 - если файл не существует, то что тут?
 
Объект класса io.TextIOWrapper, возвращается функцией open().
name— название файла;mode— режим, в котором этот файл открыт;closed— возвращает True, если файл был закрыт.
with
with open('path_to/file', mode) as f:
    text = f.read()
Отличие от open(): python самостоятельно закрывает файл, разработчику нет необходимости помнить об этом. Не вызываются исключения при открытии файла (например, если файл не существует).
Пример работы с файлом с исключениями
try:
	fh = open("testfile", "w")
	try:
		fh.write("This is my test file for exception handling!!")
	finally:
		print ("Going to close the file")
		fh.close()
except IOError:
	print ("Error: can\'t find file or read data")
Работа с двумя файлами одновременно
with open(fname + '.inp') as f_inp:
	with open(fname + '.out', 'w') as f_out:
		for line in f_inp:
			line = re.sub('\s{4}','\t',line)
			f_out.write(line)
	f_out.close()
f_inp.close()
- json
 - yaml
 - ini
 - csv
 - xls