La biblioteca del sistema operativo automático de Python es una biblioteca que interactúa con el sistema operativo. Las operaciones comunes incluyen operaciones de archivo/directorio, operaciones de ruta, operaciones de variables de entorno y ejecución de comandos del sistema.
operaciones de archivo/directorio
- Obtener el directorio actual (pwd): os.getcwd()
- Cambiar directorio (cd): os.chdir('/usr/local/')
- Listar todos los archivos en un directorio (ls): os.listdir('/usr/local/')
- Cree un directorio (mkdir): os.makedirs('/usr/local/tmp')
- Eliminar directorio (rmdir): os.removedirs('/usr/local/tmp') # Solo se pueden eliminar directorios vacíos, la eliminación recursiva puede usar import
shutil;shutil.rmtree('/usr/local/tmp') - Eliminar archivo (rm): os.remove('/usr/local/a.txt')
- Recorrido recursivo de directorios y subdirectorios: os.walk()
Ejemplo : recorra todos los archivos y directorios en el directorio y subdirectorios /usr/local, y reúna el nombre de ruta completo de cada archivo
import os
for root, dirs, files in os.walk("/usr/local", topdown=False):
for name in files:
print('文件:', os.path.join(root, name))
for name in dirs:
print('目录:', os.path.join(root, name))
operación de ruta
- Archivo de script de Python actual: archivo
- Obtenga la ruta del archivo: os.path.basename( file ) # No contiene el nombre del archivo actual
- Obtenga la ruta absoluta del archivo: os.path.abspath( file ) # Contiene el nombre del archivo actual
- Obtenga la ruta del directorio: os.path.dirname( archivo )
- Ruta dividida y nombre de archivo: os.path.split('/usr/local/a.txt') # Obtenga una lista de [ruta, nombre de archivo]
- Nombre de archivo dividido y extensión: os.path.splitext('a.txt') # get ['a', '.txt']
- Determine si existe la ruta: os.path.exists('/usr/local/a.txt')
- Determine si la ruta es un archivo: os.path.isfile('/usr/local/a.txt')
- Determine si la ruta es un directorio: os.path.isdir('/usr/local/a.txt')
- Ruta de montaje: os.path.join('/usr', 'local', 'a.txt')
Ejemplo : obtener la ruta raíz del proyecto y la ruta del archivo de informe
Supongamos que la estructura del proyecto es la siguiente
project/
data'
reports/
report.html
testcases/
config.py
run.py
Obtenga la ruta del proyecto y la ruta de report.html en run.py
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:660193417
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
import os
base_dir = os.path.dirname(__file__) # __file__是run.py文件,os.path.dirname获取到其所在的目录project即项目根路径
report_file = os.path.join(base_dir, 'reports', 'report.html') # 使用系统路径分隔符('\')连接项目根目录base_dir和'reports'及'report.html'得到报告路径
print(report_file)
manipulación de variables de entorno
- Obtener variables de entorno: os.environ.get('RUTA') o os.getenv('RUTA')
- Establecer variables de entorno: os.environ['MYSQL_PWD']='123456'
ejecutar comandos del sistema
Ejecute el comando del sistema : os.system(“jmeter -n -t /usr/local/demo.jmx”) # No se puede obtener la información de la salida de la pantalla, para obtener la información de la pantalla en ejecución, puede usar el subproceso