首页 > 编程语言 >[Python]OS模块应用

[Python]OS模块应用

时间:2024-04-17 12:22:42浏览次数:20  
标签:模块 Python os pic file print path txt OS

OS提供许多和操作系统交互的功能,允许访问文件,目录,进程,环境变量等。

  • 导入模块,import os

  • 获取当前工作目录,os.getcwd()

current_dir=os.getcwd()
print("当前工作目录:",current_dir)

>>>   当前工作目录: C:\Users\wuyucun
  • 创建目录,os.mkdir()
current_dir=os.getcwd()
new_dir=os.path.join(os.getcwd(),"my_directory")
os.mkdir(new_dir)
  • 遍历目录,os.listdir
files=os.listdir(os.getcwd())
for file in files:
    print(file)

  • 删除文件或者目录,使用os.remove()删除文件,os.rmdir()删除目录
file_to_delete=os.path.join(os.getcwd(),"file_to_delete.txt")
os.remove(file_to_delete)

dir_to_delete=os.path.join(os.getcwd(),"dir_to_delete")
os.rmdir(dir_to_delete)
  • 执行系统命令,使用os.system()
os.system("calc")
  • 获取环境变量,使用os.environ
print(os.environ)
  • 路径操作,使用os.path
    • 文件名获取os.path.basename()
    • 目录名获取os.path.dirname()
    • 文件拓展名获取os.path.splitext()[1]
path="/path/to/file/file.txt"
print("文件名:",os.path.basename(path))

>>>文件名: file.txt 
path="/path/to/file/file.txt"
print("目录名:",os.path.dirname(path))

>>>目录名: /path/to/file
path="/path/to/file/file.txt"
print("文件拓展名:",os.path.splitext(path)[1])

>>>文件拓展名: .txt
  • 计算绝对路径,相对路径,使用os.path.join();os.path.relpath()
txt_path="/path/to/file/file.txt"
pic_path="/path/to/file/pic/file/my_pic.png"
pic_path_abs=os.path.dirname(pic_path)
print("绝对路径:",pic_path)
pic_path_rel=os.path.relpath(pic_path_abs,os.path.dirname(txt_path))
print("相对路径:",pic_path_rel)
pic_path_rel_withname=os.path.join(pic_path_rel,os.path.basename(pic_path))
print("相对路径带文件名:",pic_path_rel_withname)

>>>绝对路径: /path/to/file/pic/file/my_pic.png
>>>相对路径: pic\file
>>>相对路径带文件名: pic\file\my_pic.png
  • 使用os.path.exists()判断路径指向位置是否存在

  • 使用os.path.isabs()判断路径是否是绝对路径

  • 使用os.path.isfile()或者os.path.isdir()判读是否是文件或者路径

  • 使用os.rename(src,dst)重命名文件或者路径

  • 使用os.name获得程序当前的运行环境(这是个属性),目前有posix,nt,java

标签:模块,Python,os,pic,file,print,path,txt,OS
From: https://www.cnblogs.com/xiacuncun/p/18140289

相关文章

  • Python 数据结构和算法实用指南(一)
    原文:zh.annas-archive.org/md5/66ae3d5970b9b38c5ad770b42fec806d译者:飞龙协议:CCBY-NC-SA4.0前言数据结构和算法是信息技术和计算机科学工程学习中最重要的核心学科之一。本书旨在提供数据结构和算法的深入知识,以及编程实现经验。它专为初学者和中级水平的研究Python编......
  • Python 数据结构和算法实用指南(二)
    原文:zh.annas-archive.org/md5/66ae3d5970b9b38c5ad770b42fec806d译者:飞龙协议:CCBY-NC-SA4.0第四章:列表和指针结构我们已经在Python中讨论了列表,它们方便而强大。通常情况下,我们使用Python内置的列表实现来存储任何数据。然而,在本章中,我们将了解列表的工作原理,并将研......
  • 【CentOS7】ulimit 使用
    ulimit-a显示当前用户进程限制语法:ulimit[-aHS][-c<core文件上限>][-d<数据节区大小>][-f<文件大小>][-m<内存大小>][-n<文件数目>][-p<缓冲区大小>][-s<堆叠大小>][-t<CPU时间>][-u<程序数目>][-v<虚拟内存大小>]参数:  -a显示目前资源限制的设定。   -c......
  • Linux centos安装tesseract-ocr教程
    安装依赖依赖的包:autoconfautomakelibtoollibjpeg-devellibpng-devellibtiff-develzlib-develleptonica(1.67以上)(一下环境依赖,有则更新,无则安装)yuminstallautoconfautomakelibtoolyuminstalllibjpeg-devellibpng-devellibtiff-develzlib-develLeptonica库......
  • springboot多模块项目启动经历
    springboot多模块使用@目录springboot多模块使用前言大佬把项目权限给我了,我就先下下来看看学习一下一、识别二、maven配置1.安装maven三、加载刷新总结前言大佬把项目权限给我了,我就先下下来看看学习一下一、识别项目分为母模块和多个子模块,开始idea只是识别了最外层的pom......
  • ROS2笔记1--简介及开发环境搭建
    一、ROS2简介1.1、ROS2概述ROS2是第二代的RobotOperatingSystem,ROS1的升级版本,解决了ROS1存在的一些问题。与ROS1相比,Linux版本与ROS2版本的选择也有关系,对应关系如下:ROS2版本Ubuntu版本FoxyUbuntu20.04GalacticUbuntu20.04HumbleUbuntu......
  • python生成exe
    pyinstaller:PyInstaller是一个用于打包Python应用程序的工具,它可以将Python脚本打包成可执行文件,无需依赖外部Python解释器。你可以使用PyInstaller来将整个文件夹中的多个Python文件打包成一个可执行文件。你可以通过以下命令安装PyInstaller:pipinstallpyinstal......
  • Python——cProfile(程序分析)
    程序分析可以系统性地分析程序的运行速度、内存使用情况等。cProfile是Python的分析器,用于测量程序的运行时间和程序内各个函数调用消耗的时间。importcProfiledefadd():total=0foriinrange(1,10000001):total+=icProfile.run('add()')'''......
  • python-pptx 学习
      1frompptximportPresentation2frompptx.utilimportInches3frompptx.chart.dataimportChartData4frompptx.enum.chartimportXL_TICK_MARK5frompptx.utilimportPt6frompptx.dml.colorimportRGBColor7frompptx.enum.chartim......
  • HarmonyOS-基础之动画
    1、是什么?动画可以在UI界面发生变化时,提供渐变过渡效果,提升用户体验。动画的实现原理是通过在一段时间内连续播放一系列静止画面(帧),从而产生流畅的视觉效果。ArkUI提供了多种动画接口,例如:显式动画、属性动画、转场动画等,来实现各种动画效果。2、显示动画animateTo()是ArkUI......