La biblioteca os es una biblioteca relativamente importante en la biblioteca estándar de Python
Sus principales funciones son las siguientes:
1. Variables y operaciones relacionadas con el sistema
2. Operaciones relacionadas con archivos y directorios
3. Ejecutar comandos y gestionar procesos
1. Operaciones de función de uso común
1.os.nombre
La cadena de salida indica la plataforma que se está utilizando. Si es una ventana, genera 'nt', para usuarios de Linux/Unix, genera 'posix'.
import os
dlj = os.name
print(dlj)
2.os.getcwd()
obtener el directorio de trabajo actual
dlj = os.getcwd()
print(dlj)
3.os.listdir(ruta)
Devuelve todos los archivos y nombres de directorios bajo la ruta de directorio especificada en forma de lista.
import os
path = './data' # 自己随便指定一个路径
dlj = os.listdir(path)
print(dlj)
4.os.mkdir(ruta)
Crear un nuevo directorio, la ruta es una cadena que indica la ruta del nuevo directorio. Importante: esta función solo puede generar el directorio del siguiente nivel y no puede generar recursivamente directorios profundos, y si la carpeta ya existe, se informará un error.
import os
path = './wzh'
os.mkdir(path) # 在工程路径下会生成一个文件夹,名称为wzh
5.os.makedirs(ruta)
Se pueden generar múltiples niveles de directorios recursivos. ( os.mkdir(path)
comparación con)
import os
path = './wzh/aaa'
os.makedirs(path) # 在工程路径下会生成wzh文件夹,再在wzh文件夹下生成aaa文件夹。如果最后一级目录存在
6.os.rmdir(ruta)
Elimine un directorio vacío e informe un error si la ruta especificada no es un directorio vacío.
import os
path = './wzh/aaa'
os.makedirs(path)
os.rmdir('./wzh/aaa') # 删除wzh文件夹下的aaa文件夹,wzh文件夹未删除。
7.os.removedirs(ruta)
Si el directorio está vacío, elimínelo y recurra al directorio de nivel superior, si también está vacío, elimínelo, y así sucesivamente.
import os
path = './aaa/bbb/ccc'
os.makedirs(path) # 递归创建目录
os.removedirs(path) # 递归删除目录
8.os.remove(ruta)
¡Elimine el archivo especificado! ! ! ( os.rmdir(path)
La diferencia os.rmdir(path)
es eliminar la carpeta vacía especificada, os.remove(path)
pero eliminar el archivo especificado)
import os
os.remove('./1.txt') # 删除指定文件 这里删除.txt文件(文件是带有.后缀的)
9.os.sep
- Puede anular los separadores de ruta específicos del sistema operativo.
import os
path = './dlj' + os.sep + 'wzh'
print(path) # ./dlj\wzh 其中 os.sep 代替路径分割符
os.makedirs(path) # 递归生成指定路径
10.os.linesep
Reemplaza el carácter de escape \r\n.
import os
path1 = '/dlj\r\nwzh'
path2 = '/dlj' + os.linesep + 'wzh' # os.linesep 代表转移字符 \r\n
print(path1)
print(path2)
if path1 == path2:
print('ok')
11.os.rename(ruta1,ruta2)
Renombrar archivo.
import os
path1 = './0001.jpg' # 已经存在的文件
path2 = './aaa.jpg' #更改后的文件名!!!(文件名后缀要一致)
os.rename(path1, path2) # 把 path1文件 更改为 path2文件 path1文件就不存在了
12.la.cuajada
ruta actual de retorno
13.la.entrega
Devuelve el directorio principal de la ruta actual, pero debe usarse junto con os.path.abspath()
import os
print(os.curdir) # 返回'.'以表示当前路径
print(os.pardir) # 返回'..'以表示当前路径的父目录
# 这两个函数需要结合 os.path.abspath使用
aaa = os.path.abspath(os.curdir)
bbb = os.path.abspath(os.pardir)
print(aaa)
print(bbb)
14.os.chdir(ruta)
Cambiar la ruta de trabajo actual
import os
path = 'D:/software/anaconda3/envs/torch1.2'
print(os.getcwd()) # 返回当前脚本工作路径
os.chdir(path) # 改变当前脚本工作路径
print(os.getcwd())
15.os.stat(ruta)
Obtener información sobre un archivo/ruta.
16.os.medio ambiente
Obtener las variables de entorno del sistema operativo
17.os.caminar(camino)
root: se refiere a la dirección de la carpeta que se está recorriendo actualmente
dirs: es una lista, el contenido son los nombres de todos los directorios en la carpeta (excluyendo los subdirectorios)
files: también una lista, el contenido es el archivo Todos los archivos (excluyendo los subdirectorios) en la carpeta
generalmente se combinan con un bucle for para recorrer todos los archivos y directorios bajo el directorio.
import os
path = './result'
for root, dirs, files in os.walk(path):
for item in dirs:
print(os.path.join(root, item))
for item in files:
print(os.path.join(root, item))
2. El módulo de ruta en la biblioteca os
Podemos implementar manualmente las funciones del módulo os.path usando operaciones de cadena.La función de este módulo es permitirnos realizar la misma función sin considerar el sistema específico, especialmente sin prestar demasiada atención al problema de los separadores del sistema de archivos. . Es un módulo que se utiliza con mucha frecuencia.
1.os.path.abspath(ruta)
Devuelve la ruta absoluta normalizada de ruta Consulte os.pardir
el uso anterior.
2.os.path.join(ruta1,ruta2,...)
Regresa después de combinar múltiples rutas, los parámetros anteriores a la primera ruta absoluta serán ignorados.
import os
dlj = os.path.join('./dlj', 'aaa', 'bbb')
print(dlj)
3.os.path.getatime(ruta)
Devuelve la última hora de acceso al archivo o directorio al que apunta la ruta.
4.os.ruta.getmtime(ruta)
Devuelve la última hora de modificación del archivo o directorio al que apunta la ruta
5.os.ruta.getctime(ruta)
Devuelve la hora de creación del archivo o directorio al que apunta la ruta
import os
path = './dlj6.py'
x = os.path.getatime(path) # 返回path所指向的文件或者目录的最后访问时间
y = os.path.getctime(path) # 返回path所指向的文件或者目录的创建时间
z = os.path.getmtime(path) # 返回path所指向的文件或者目录的最后修改时间
print(x)
print(y)
print(z)
6.os.ruta.nombrebase(ruta)
Devuelve el nombre de archivo o directorio del último nivel.
import os
path = './input/detection-results'
print(os.path.basename(path))
7.os.path.dirname(ruta)
Devuelve la ruta del archivo (ruta principal)
import os
path = ',/input/detection-results/onecode_0a1d5cfbeb04312b01c634e534b78803.txt'
print(os.path.dirname(path))
8.os.path.exists(ruta)
Devuelve True si la ruta existe; devuelve False si la ruta no existe.
9.os.path.getsize(ruta)
Devuelve el tamaño del archivo o devuelve un error si el archivo no existe.
10.os.ruta.isabs(ruta)
Determine si es una ruta absoluta.
import os
path = ',/input/detection-results/onecode_0a1d5cfbeb04312b01c634e534b78803.txt'
print(os.path.isabs(path))
path1 = os.getcwd()
path2 = os.path.join(path1, path)
print(os.path.isabs(path2))
11.os.ruta.isdir(ruta)
Determine si la ruta es un directorio.
12.os.ruta.isfile(ruta)
Determine si la ruta es un archivo.
13.os.ruta.islink(ruta)
Determine si la ruta es un enlace.
14.os.path.samefile(ruta)
Determina si los caminos son los mismos.
15.os.path.split(ruta)
Divida la ruta en dirname y basename, devolviendo una tupla.
import os
path = ',/input/detection-results/onecode_0a1d5cfbeb04312b01c634e534b78803.txt'
print(os.path.split(path))
16.os.path.splitext(ruta)
Divida una ruta, devolviendo una tupla de nombre de ruta y extensión de archivo.
17.os.path、realpath(ruta)
Devuelve la ruta real de la ruta. (camino absoluto)