Operaciones básicas de archivo
1 Qué es la
caballería de archivos: archivos de texto: en términos generales: archivos de hipertexto, imágenes, sonidos, hipervínculos, videos
2. Los archivos de clasificación de archivos se pueden dividir en dos categorías, archivos de texto y archivos binarios
3. El papel de los archivos El propósito del archivo es almacenar algunos datos
4. El proceso de uso del archivo El proceso de
operación del archivo es generalmente abrir el archivo, leer y escribir el archivo, y cerrar el archivo. El proceso de operar el archivo a través del programa también son los tres pasos:
primero abra el archivo, luego lea y escriba el archivo, y finalmente cierre el archivo
Escribir archivo
file = open ( ' test1.py ' , mode = ' w ' ) file.write ( ' hello johnson ' ) file.close () # # # 写中文 # # Python usa codificación gbk para leer y escribir, y pycharm Es utf-8 # file = open ( ' test.txt ' , mode = ' w ' , encoding = ' utf-8 ' ) file.write ( ' Mi nombre es Johnson, comúnmente conocido como tu padre ' ) file.close ()
# wb Abre un archivo en formato binario para escribir solo. Si el archivo ya existe, abra el archivo y comience a editarlo desde el principio, es decir, el contenido original se eliminará
# Si el archivo no existe, se crea un nuevo archivo. Generalmente se usa para archivos que no son de texto, como
archivo de imagen = abierto ('test.txt', 'wb')
archivo.write (b '\ xe6 \ x88 \ x91 \ xe5 \ x8f \ xab \ xe5 \ xbc \ xba \ xe6 \ xa3 \ xae \ xef \ xbc \ x8c \ xe4 \ xbf \ x97 ') file.close
()
# w + Abre un archivo para leer y escribir. Si el archivo ya existe, abra el archivo y comience a editarlo desde el principio,
# se eliminará el contenido original. Si el archivo no existe, cree un nuevo archivo.
file = open ('test.txt', 'w')
file.write ('zheshigeshenmewanyi') file.close
()
Leer archivo
file = open ( ' test.txt ' , mode = ' r ' , encoding = ' utf-8 ' ) print (file.read ()) file.close ()
# r Abra el archivo como solo lectura. El puntero del archivo se colocará al principio del archivo. Este es el modo predeterminado.
file = open ('test.txt', 'r', encoding = 'utf-8')
print (file.read ()) file.close
()
# rb abre un archivo en binario para solo lectura. El puntero del archivo se usará al comienzo del archivo
# Generalmente se usa para archivos que no son de texto, como imágenes. Nota: El archivo binario representa el contenido como un tipo de cadena de bytes especial
file = open ('test.txt', 'rb')
print (file.read ()) file.close
()
# r + abre un archivo para leer Escribir El puntero del archivo se colocará al comienzo del
archivo file = open ('test.txt', 'r +')
file.write ('johnson')
file.close ()
Agregar
file = open ( ' test.txt ' , mode = ' a ' , encoding = ' utf-8 ' ) file.write ( ' 相加 就 加' ) file.close ()
# a Abra un archivo para agregarlo. Si el archivo ya existe, el puntero del archivo se colocará al final del archivo
, es decir, el nuevo contenido se escribirá después del contenido existente. Si el archivo no existe. Cree un nuevo archivo y escríbalo
file = open ('test.txt', 'a')
file.write ('what is the fuck')
file.close ()
# Abra un archivo para leer y escribir. Si el archivo ya existe. El puntero del archivo se colocará al final del archivo
, es decir, el nuevo contenido se escribirá después del contenido existente. Si el archivo no existe, cree un nuevo archivo para escribir
file = open ('test.txt', 'a +')
file.read () file.close
()
método read ()
# Todas las llamadas de contenido leídos () lee el archivo de una sola vez, si el archivo tiene 10G, la memoria puede explotar y causar el programa pegado # Así sea segura, puede ser utilizado en repetidas ocasiones leer método (tamaño), cada uno lee hasta el tamaño Personajes file = open ( ' test.txt ' , ' r + ' , encoding = ' utf-8 ' ) print (file.read (10 )) file.close ()
readlines ()
# readlines () Lea todo el contenido del archivo en forma de líneas a la vez y devuelva una lista. Necesita recorrer y leer file = open ( ' test.txt ' , ' r ' , encoding = ' utf-8 ' ) print ( file.readlines ()) file.close ()
readline ()
# readline lee una línea a la vez y viene con una función de avance de línea al final de cada línea \ n #Puede especificar el número de caracteres a leer, la próxima lectura comenzará desde esta posición file = open ( ' test.txt ' , ' r ' , codificación = ' utf-8 ' ) ret = file.readline (5 ) print (ret) print (file.readline ()) print (file.readline ()) print (file.readline ()) print (file .readline ())
# Bucle lee el identificador de archivo es una iteración del objeto, para que pueda leer el contenido del archivo en el ciclo, cada línea de lectura. file = open ( ' test.txt ' , ' r ' , encoding = ' utf-8 ' ) para i en el archivo: print (i, end = ' ' ) file.close ()
write () 和 writelines ()
# 写入 escribir 和 archivo de líneas de escritura = abierto ( ' test.txt ' , ' w ' , codificación = ' utf-8 ' ) lista = [ ' hola ' , ' mundo ' , ' jjj ' , ' john ' ] # para i en la lista: # file.write (i + '\ n') file.writelines (list) file.close ()
con uso
Al leer y escribir archivos en funcionamiento normal, debe cerrar una vez completada la ejecución, pero el cierre repetido agrega trabajo repetido, y a veces puede olvidarse de aumentar, por lo que hay un correspondiente
= Abrir archivo ( ' test.txt ' , ' R ^ ' , encoding = ' UTF-8. ' ) Imprimir (File.read ()) file.close () # uso con un método de funcionamiento de un archivo, no se puede cerrar el archivo, automáticamente Cierre el archivo con open ( ' test.txt ' , ' r ' , encoding = ' utf-8 ' ) como f: print (f.read ()) # con implementación interna de los métodos __enter__ y __exit__, que automáticamente Cierre la clase de archivo Foo: def __init__ (self): print ( ' --- init ---' ) def __enter__ (self): print ( ' --- enter --- ' ) def __exit__ (self, exc_type, exc_val, exc_tb): print ( " --- exit --- " ) foo = Foo () con foo: print ( ' leer archivo ' ) print ( " última línea de código " )