当前位置: 首页 > wzjs >正文

用超轻粘土做网站世界球队最新排名榜

用超轻粘土做网站,世界球队最新排名榜,合肥建设网站获客系统,最新产品上市代理加盟文章目录 Python之os模块功能分类速查表文件和目录操作路径操作 (os.path 子模块)进程管理环境变量和用户信息文件描述符和权限 常用示例遍历目录创建目录结构文件操作获取文件信息跨平台路径处理 其他补充点\\转义字符注意事项使用原始字符串(推荐)使用…

文章目录

  • Python之os模块
    • 功能分类速查表
      • 文件和目录操作
      • `路径操作 (os.path 子模块)`
      • 进程管理
      • 环境变量和用户信息
      • 文件描述符和权限
    • 常用示例
      • 遍历目录
      • 创建目录结构
      • 文件操作
      • 获取文件信息
      • 跨平台路径处理
    • 其他补充点
      • '\\'转义字符注意事项
        • 使用原始字符串(推荐)
        • 使用双反斜杠`\\`
        • 使用正斜杠 `/`(Python 自动兼容)
      • 创建或删除需要判断是否存在
        • 创建文件/目录
        • 删除文件/目录
      • `__pycache__ `缓存目录
      • windows打印os.system("dir") 会乱码
        • 乱码原因
        • 修改控制台编码为 UTF-8(推荐)

Python之os模块

os 模块是 Python 的标准库之一,提供了丰富的操作系统相关功能,包括文件和目录操作、进程管理、环境变量访问等。它允许 Python 程序与操作系统进行交互,实现跨平台的操作系统功能调用。

功能分类速查表

文件和目录操作

功能/属性说明示例
os.getcwd()获取当前工作目录current_dir = os.getcwd()
os.chdir(path)改变当前工作目录os.chdir(‘/new/path’)
os.listdir(path)返回指定目录下的文件和目录列表files = os.listdir(‘.’)
os.mkdir(path)创建目录os.mkdir(‘new_dir’)
os.makedirs(path)递归创建目录os.makedirs(‘dir1/dir2/dir3’)
os.remove(path)删除文件os.remove(‘file.txt’)
os.rmdir(path)删除空目录os.rmdir(‘empty_dir’)
os.removedirs(path)递归删除空目录os.removedirs(‘dir1/dir2’)
os.rename(src, dst)重命名文件或目录os.rename(‘old.txt’, ‘new.txt’)
os.stat(path)获取文件/目录状态信息info = os.stat(‘file.txt’)
os.path 子模块提供路径相关操作详见下方 os.path 部分
os.walk()递归遍历目录树for root, dirs, files in os.walk(top_path):

在这里插入图片描述

路径操作 (os.path 子模块)

功能/属性说明示例
os.path.abspath(path)返回绝对路径abs_path = os.path.abspath(‘file.txt’)
os.path.basename(path)返回路径的最后部分os.path.basename(‘/a/b/c.txt’) → ‘c.txt’
os.path.dirname(path)返回目录部分os.path.dirname(‘/a/b/c.txt’) → ‘/a/b’
os.path.exists(path)检查路径是否存在if os.path.exists(‘file.txt’):
os.path.isfile(path)检查是否为文件if os.path.isfile(‘file.txt’):
os.path.isdir(path)检查是否为目录if os.path.isdir(‘directory’):
os.path.join(path1, path2)智能拼接路径os.path.join(‘dir’, ‘sub’, ‘file.txt’)
os.path.split(path)分割路径为目录和文件名dir, file = os.path.split(‘/a/b/c.txt’)
os.path.splitext(path)分割文件名和扩展名name, ext = os.path.splitext(‘file.txt’)
os.path.getsize(path)获取文件大小(字节)size = os.path.getsize(‘file.txt’)
os.path.getmtime(path)获取最后修改时间mtime = os.path.getmtime(‘file.txt’)

在这里插入图片描述

进程管理

功能/属性说明示例
os.system(command)执行系统命令os.system(‘ls -l’)
os.popen(command)执行命令并获取输出output = os.popen(‘ls’).read()
os.getpid()获取当前进程IDpid = os.getpid()
os.getppid()获取父进程IDppid = os.getppid()
os.kill(pid, sig)向进程发送信号os.kill(pid, signal.SIGTERM)
os._exit(n)直接退出进程(不清理)os._exit(1)

在这里插入图片描述

环境变量和用户信息

功能/属性说明示例
os.environ包含环境变量的字典home = os.environ[‘HOME’]
os.getenv(key)获取环境变量值path = os.getenv(‘PATH’)
os.putenv(key, value)设置环境变量os.putenv(‘MY_VAR’, ‘value’)
os.uname()获取系统信息(Unix)info = os.uname()
os.getlogin()获取当前登录用户名user = os.getlogin()
os.getuid()获取当前用户ID(Unix)uid = os.getuid()
os.getgid()获取当前组ID(Unix)gid = os.getgid()

在这里插入图片描述

文件描述符和权限

功能/属性说明示例
os.open(path, flags)低级文件打开fd = os.open(‘file.txt’, os.O_RDWR)
os.close(fd)关闭文件描述符os.close(fd)
os.read(fd, n)从文件描述符读取data = os.read(fd, 100)
os.write(fd, str)向文件描述符写入os.write(fd, b’data’)
os.chmod(path, mode)更改文件权限os.chmod(‘file.txt’, 0o755)
os.access(path, mode)检查文件权限if os.access(‘file.txt’, os.R_OK):
  • os.open() 和内置的 open() 函数
    • os.open():低级接口,适合特殊需求(如文件锁、原始字节操作)。

    • open():高级接口,适合日常文件读写(自动处理编码、缓冲和资源管理)。

    • 优先使用 open(),除非你有明确的理由需要使用 os.open()

  • 参考Python之文件操作

常用示例

遍历目录

import osfor root, dirs, files in os.walk('.'):for file in files:print(os.path.join(root, file))

创建目录结构

import osif not os.path.exists('project/data'):os.makedirs('project/data')

文件操作

import os# 复制文件(简单方式)
with open('source.txt', 'rb') as src, open('dest.txt', 'wb') as dst:dst.write(src.read())# 删除文件前检查
if os.path.isfile('old_file.txt'):os.remove('old_file.txt')

获取文件信息

import os
import timefile_stat = os.stat('document.pdf')
print(f"大小: {file_stat.st_size} 字节")
print(f"最后修改: {time.ctime(file_stat.st_mtime)}")

跨平台路径处理

import osconfig_path = os.path.join(os.getenv('HOME'), 'config', 'settings.ini')
print(f"配置文件路径: {config_path}")

其他补充点

'\'转义字符注意事项

使用原始字符串(推荐)

在路径字符串前加 r,告诉 Python 不要处理转义字符:

print(os.path.isfile(r'D:\pycharm\project01\day04\模块.py'))
#           注意这里的 `r` ↑
使用双反斜杠\\

手动转义每个反斜杠:

print(os.path.isfile('D:\\pycharm\\project01\\day04\\模块.py'))
使用正斜杠 /(Python 自动兼容)

即使是在 Windows 系统,Python 也支持 / 作为路径分隔符:

print(os.path.isfile('D:/pycharm/project01/day04/模块.py'))

在这里插入图片描述

创建或删除需要判断是否存在

创建文件/目录
  • 是否需要判断存在?
    • 不必须:Python 的创建操作(如 open()、os.makedirs())在目标已存在时可能会报错,但可以通过参数直接覆盖或忽略。

    • 推荐做法:

      • 文件:使用 ‘w’ 模式直接覆盖,或 ‘x’ 模式确保不覆盖(需捕获 FileExistsError)。
      try:with open('file.txt', 'x') as f:  # 文件存在时报错f.write('content')
      except FileExistsError:print("文件已存在,未覆盖")
      
      • 目录:使用 os.makedirs(exist_ok=True) 自动忽略已存在的目录。
      import os
      os.makedirs('my_dir', exist_ok=True)  # 目录存在时不报错
      
删除文件/目录
  • 是否需要判断存在?

    • 不必须:删除前检查存在性可避免异常,但直接捕获异常更简洁(Python 推崇 EAFP 风格)。
  • 推荐做法:

    • 文件:直接删除 + 捕获 FileNotFoundError。
    import o
    try:os.remove('file.txt')  # 文件不存在时报错
    except FileNotFoundError:print("文件不存在,无需删除")
    
    • 目录:使用 shutil.rmtree() 递归删除(无视存在性)。
    import shutil
    shutil.rmtree('my_dir', ignore_errors=True)  # 目录不存在时不报错
    
  • 性能:直接操作 + 异常处理的性能通常优于先检查(尤其在高并发场景)

在这里插入图片描述

__pycache__ 缓存目录

  • 使用os.listdir()查看指定目录下的文件和目录列表时,可以看到该目录
  • 当导入一个 Python 模块(如 import mymodule)时,Python 会将模块的源代码(.py 文件)编译成字节码(一种优化后的二进制格式),并保存在__pycache__目录中
    __pycache__ 是 Python 用于优化模块加载的缓存目录,无需手动干预,可以安全忽略或删除。
  • 作用
    • 性能优化:直接加载已编译的字节码比重新解析 .py 文件更快,尤其是对于大型模块。

    • 避免重复编译:如果模块未修改,Python 会直接复用字节码,跳过编译步骤。

  • 一般编辑器/IDE 默认隐藏了它
    在这里插入图片描述

windows打印os.system(“dir”) 会乱码

在这里插入图片描述

乱码原因
  • os.system() 直接调用系统命令,返回的是 系统原生编码(GBK)。

  • 如果 Python 或终端尝试用 UTF-8 解码 GBK 内容,就会显示乱码(如 � 或奇怪符号)。

修改控制台编码为 UTF-8(推荐)

在代码开头强制设置终端编码:

import os
import sys# 设置控制台编码为 UTF-8
sys.stdout.reconfigure(encoding='utf-8')  # Python 3.7+
os.system("chcp 65001")  # Windows 切换到 UTF-8 代码页print(os.system("dir"))  # 现在应该正常显示中文

在这里插入图片描述

http://www.dtcms.com/wzjs/99875.html

相关文章:

  • mac os 做网站网站如何注册
  • 怎样把自己的网站上传关键词排名点击软件
  • 模型外包网站官网站内推广内容
  • 沈阳专门做网站注册域名要钱吗
  • 长沙教育建设信息网站百度业务员联系电话
  • 手机百度关键词排名 seo网站优化软件百度我的订单查询
  • 公司网站怎么做教程最新的国际新闻
  • 福永网站建设网络推广引流是做什么的
  • 设计的商城网站建设手机制作网站app
  • 上海网站外包建设2022真实新闻作文400字
  • shopex网站首页空白专业培训
  • 完善网站建设的必要性seo百度推广
  • 网站移动端和手机端分开做视频剪辑培训班学费一般多少
  • 如何建立一家网站免费网络营销方式
  • qq空间做宣传网站网站推广开户
  • 惠州哪个房地产网站做的比较好包括哪些内容
  • adobe做网站的软件常用的seo网站优化排名
  • 上海比较大的外贸公司有哪些东莞seo搜索
  • 自己做的网站怎么赚钱微信怎么推广引流客户
  • 餐饮加盟网站建设方案品牌整合营销传播
  • 自己做的php网站进行伪静态网络营销的八种方式
  • 政府网站建设考察报告聊城seo
  • 做网站设计的公司排名佛山seo外包平台
  • 网络空间安全专业seo入门培训班
  • 营销型网站规划步骤百度竞价点击价格公式
  • 使用ecs做淘客网站推广方案怎么做
  • 武汉软件培训机构优化设计答案四年级上册语文
  • 旅游网站开发背景论文优化推广联盟
  • 国家重大项目建设库网站广告推销
  • 网站后台代码如何做汕头seo外包机构