Día 11 operaciones de archivo (en)

En primer lugar, ¿cuál es el archivo

Archivos del sistema operativo están disponibles para los conceptos de usuario / aplicación de operación para un disco duro / interfaz virtual

De usuario / aplicación

Sistema operativo (archivo)

Material informático (disco duro)

En segundo lugar, ¿por qué utilizar un archivo

  1. archivos de datos de usuario / aplicación se pueden almacenar de forma permanente en el disco duro
  2. Operación está funcionando archivo de disco duro
  3. De usuario / aplicación directa operación de archivo, la operación de archivo se invoca en el sistema para el sistema operativo, el sistema operativo y luego se convierte a la operación específica del disco duro

En tercer lugar, cómo utilizar el archivo

El flujo básico de 3,1 operaciones de archivo

#1.打开文件,由程序想操作系统发起系统调用open()操作系统打开该文件,等于在硬盘上开辟了一个空间并给一个返回值给f
f = open("a.txt",mode="rt",encoding="utf-8")
#2.调用文件对象的xx方法,会被操作系统转换成操作硬件的操作
data = f.read()
#3.在完成对文件的操作后需要关闭文件,以免对操作系统造成资源浪费

3.2 Reciclaje de gestión de contexto

Podemos ver en la imagen de arriba, abrir un archivo tendrá dos secciones recursos:

En primer lugar, el archivo de aplicación a las operaciones objeto de archivo se define en el espacio de memoria

En segundo lugar, el sistema operativo con el fin de construir aplicaciones y archivos abiertos recursos de enlace duros

Así que al final de cada uno de las operaciones de archivo, tenemos que ser parte de la recuperación de estos dos recursos

f.close()#回收操作系统打开的文件资源
del f #回收应用程序定义的文件变量

Aquí se debe cerrar el archivo y recuperar variables, de lo contrario no se encuentra el archivo no se apaga, del f por lo general no tiene que escribir, porque no hay recolección de basura mecanismo de pitón, f.close () es igual al valor de la variable correspondiente yf las relaciones desconectados. Así que recuerde que cada vez que en la operación de cierre última escritura. Pero aún así a veces podemos olvidar, por lo que el fin de pitón para facilitar el desarrollo del personal, provisto de palabras clave para la gestión de contexto

Abra el archivo con

with open("a.txt","rt",encoding="utf-8") as f:
    f.read()
#可以用with打开多个文件,用逗号分隔
with open("a.txt","rt") as f1,open("b.txt","w") as f2:
    pass

3.3 Especificar texto operación de codificación de caracteres

La lección que hemos aprendido, no deje que el archivo ilegible, es necesario Unicode códec utilizado, lo que es necesario para mantener lo que debe tomar. Si no se especifica qué archivo para abrir lo que codificación de caracteres cuando se abrió, se utilizará el valor por defecto del sistema operativo está abierto.

Mac, Linux por defecto del sistema operativo es UTF-8

sistema operativo Windows es el valor por defecto de GBK

PyCharm por defecto que utilizamos para uso UTF-8 de almacenamiento, esta vez nos PyCharm escribir un texto en el sistema operativo Windows, si no existe una definición de la codificación de caracteres del texto abierto, se abrirá con GBK, será el error, como se muestra a continuación

f = open("a.txt",r,encoding="utf-8")#正确写法

En cuarto lugar, el modo de funcionamiento del archivo

t texto (modo por defecto)

  1. El valor predeterminado es a unidades str (Unicode)
  2. archivo de texto
  3. Debe especificarse encoding = 'UTF-8'

b Binary / bytes

4.1 archivo de lectura y escritura de las operaciones del modo de control (t modo)

  1. r (no de escritura predeterminado): sólo lectura
  2. W: escritura única
  3. R: Sólo adicionales de escritura
  4. +: R +, w +, a +

4.1.1 Caso 1: modo de r

#r只读模式,文件不存在时报错,文件存在则把指针跳到开头
with open("a.txt",mode="rt",encoding="utf-8") as f:
    res = f.read()#把文件的所有内容都赋值给res
    print(res)
    
#小练习,实现登录功能
name_inp = input("your name>")
pwd_inp = input("your pws>")
with open("a.txt",mode="rt",encoding="utf-8") as f :
    for line in f:
        username,password = line.strip().split(":")
        if username == name_inp and password == pwd_inp:
            print("welcome")
            break
    else:
        print("账号名或者密码错误")

4.1.2 Caso dos: el modo w

#w只写模式,如果文件不存在则创建新文件,文件存在会清空文件,光标回到文件开头
with open('b.txt',mode='w',encoding='utf-8') as f:
    f.write('你好\n')
    f.write('我好\n') 
    f.write('大家好\n')
#强调:
# 1 在文件不关闭的情况下,连续的写入,后写的内容一定跟在前写内容的后面
# 2 如果重新以w模式打开文件,则会清空文件内容

4.1.3 Caso 3: El uso de un patrón

#a值追加写模式:文件不存在则创建文件,文件存在则把光标跳到文件末尾
with open("a.txt",mode="a",encoding="utf-8") as f :
    f.write("aaa")
#w模式和a模式的异同:
#相同点:打开文件不关闭的情况下,连续写入新内容,新写的内容会跟在之前写的后面
#不同点:w模式打开文件会清空文件,a模式只会让光标跳到最后
#练习:实现注册功能:

username = input("请输入注册的用户名:")
password = input("请输入注册的密码:")
with open("a.txt",mode="a",encoding="utf-8") as f :
    f.write("\n{}:{}".format(username,password))

4.1.4 Caso cuatro: se utiliza el modo + (a saber)

r +, w +, a + es de lectura y escritura, pero generalmente no con

Supongo que te gusta

Origin www.cnblogs.com/hz2lxt/p/12486517.html
Recomendado
Clasificación