Python中的OS库

[复制链接]
发表于 2025-11-13 23:20:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
在Python中os模块提供了许多与操纵体系举行交互的功能,如文件和目次操纵、情况变量访问、进程管理等。它是Python尺度库的一部门,无需额外安装即可利用
  1. 导入os模块

  1. import os
复制代码
2. 文件和目次操纵

2.1 获取当前工作目次

可以利用os.getcwd()函数获取当前工作目次
  1. current_directory = os.getcwd()
  2. print("当前工作目录:", current_directory)
复制代码
2.2 更改当前工作目次

利用os.chdir(path)可以更改当前工作目次
  1. os.chdir('/path/to/new/directory')
  2. print("新的工作目录:", os.getcwd())
复制代码
2.3 列出目次内容

os.listdir(path)函数可以列出指定目次下的全部文件和子目次
  1. contents = os.listdir('.')
  2. print("目录内容:", contents)
复制代码
2.4 查抄路径是否存在

利用os.path.exists(path)可以查抄指定路径是否存在
  1. path = '/path/to/check'
  2. if os.path.exists(path):
  3.     print("路径存在")
  4. else:
  5.     print("路径不存在")
复制代码
2.5 查抄是否为文件或目次

os.path.isfile(path)和os.path.isdir(path)分别用于查抄路径是否为文件或目次
  1. if os.path.isfile(path):
  2.     print("是文件")
  3. elif os.path.isdir(path):
  4.     print("是目录")
  5. else:
  6.     print("未知类型")
复制代码
2.6 创建目次

利用os.mkdir(path)创建单级目次,利用os.makedirs(path)创建多级目次
  1. os.mkdir('new_directory')
  2. os.makedirs('parent/child')
复制代码
2.7 删除目次

利用os.rmdir(path)删除空目次,利用shutil.rmtree(path)删除非空目次
  1. import shutil
  2. os.rmdir('empty_directory')
  3. shutil.rmtree('non_empty_directory')
复制代码
2.8 重定名文件或目次

利用os.rename(src, dst)重定名文件或目次
  1. os.rename('old_name.txt', 'new_name.txt')
复制代码
2.9 删除文件

利用os.remove(path)删除文件
  1. os.remove('file_to_delete.txt')
复制代码
2.10 文件属性

获取文件巨细利用os.path.getsize(path),获取修改时间利用os.path.getmtime(path)
  1. file_size = os.path.getsize('some_file.txt')
  2. modification_time = os.path.getmtime('some_file.txt')
  3. print("文件大小:", file_size, "字节")
  4. print("修改时间:", modification_time)
复制代码
3. 情况变量

3.1 获取情况变量

利用os.getenv(variable_name)获取指定情况变量的值
  1. value = os.getenv('HOME')
  2. print("HOME环境变量:", value)
复制代码
3.2 设置情况变量

利用os.environ[‘variable_name’] = value设置情况变量
  1. os.environ['MY_VAR'] = 'my_value'
  2. print("MY_VAR环境变量:", os.getenv('MY_VAR'))
复制代码
4. 进程管理

4.1 获取当进步程ID

利用os.getpid()获取当进步程的ID
  1. pid = os.getpid()
  2. print("当前进程ID:", pid)
复制代码
4.2 实行体系下令

利用os.system(command)实行体系下令
  1. os.system('ls -l')
复制代码
4.3 利用subprocess模块实行下令

保举利用subprocess模块来实行外部下令,由于它更机动和安全
  1. import subprocess
  2. result = subprocess.run(['ls', '-l'], capture_output=True, text=True)
  3. print("命令输出:", result.stdout)
复制代码
5. 操纵体系信息

5.1 获取操纵体系名称

利用os.name获取操纵体系的名称
  1. print("操作系统名称:", os.name)
复制代码
5.2 获取文件分隔符

利用os.sep获取当前操纵体系利用的路径分隔符
  1. print("路径分隔符:", os.sep)
复制代码
5.3 获取换行符

利用os.linesep获取当前操纵体系利用的换行符
  1. print("换行符:", os.linesep)
复制代码
6. 文件路径操纵

6.1 毗连路径

利用os.path.join(path, *paths)毗连路径部件
  1. path = os.path.join('directory', 'subdirectory', 'file.txt')
  2. print("连接后的路径:", path)
复制代码
6.2 分割路径

利用os.path.split(path)分割路径为目次和文件名
  1. directory, filename = os.path.split('/path/to/file.txt')
  2. print("目录:", directory)
  3. print("文件名:", filename)
复制代码
6.3 获取文件扩展名

利用os.path.splitext(path)分割文件名和扩展名
  1. filename, extension = os.path.splitext('file.txt')
  2. print("文件名:", filename)
  3. print("扩展名:", extension)
复制代码
7. 文件操纵示例

  1. import os
  2. # 获取当前工作目次current_dir = os.getcwd()print("当前工作目次:", current_dir)# 列出目次内容contents = os.listdir(current_dir)print("目次内容:", contents)# 查抄路径是否存在path = 'example_dir'if not os.path.exists(path):    os.mkdir(path)    print("创建目次:", path)else:    print("目次已存在:", path)# 创建文件file_path = os.path.join(path, 'example.txt')with open(file_path, 'w') as file:    file.write("Hello, os module!")# 查抄文件是否存在if os.path.isfile(file_path):    print("文件存在:", file_path)else:    print("文件不存在:", file_path)# 获取文件巨细file_size = os.path.getsize(file_path)print("文件巨细:", file_size, "字节")# 删除文件os.remove(file_path)print("删除文件:", file_path)# 删除目次os.rmdir(path)print("删除目次:", path)
复制代码
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表