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

OS常用操作

目录

1 文件和目录操作

1. 1 创建目录

1.2 删除目录

1.3 列出目录内容

1.4 删除文件

1.5 打开和关闭文件描述符 

1.6 修改文件权限

1.7 获取和设置文件属性

2 路径操作

2.1 获取当前工作目录

2.2 改变工作目录

2.3 路径操作

2.4 添加 Python 的模块搜索路径列表

3 环境变量

4 系统相关


1 文件和目录操作

1. 1 创建目录

import osos.mkdir('new_directory')  # 创建单级目录
os.makedirs('new_directory/sub_directory')  # 递归创建多级目录

1.2 删除目录

os.rmdir('new_directory')  # 删除单级目录(目录必须为空)
os.removedirs('new_directory/sub_directory')  # 递归删除多级目录(每级目录都必须为空)

1.3 列出目录内容

contents = os.listdir('.')  # 列出当前目录的内容

1.4 删除文件

os.remove('file.txt')  # 删除文件
os.rename('old_name.txt', 'new_name.txt')  # 重命名文件

1.5 打开和关闭文件描述符 

fd = os.open('file.txt', os.O_RDWR | os.O_CREAT)  # 打开文件描述符
os.close(fd)  # 关闭文件描述符

1.6 修改文件权限

os.chmod('file.txt', 0o644)  # 修改文件权限

1.7 获取和设置文件属性

file_stats = os.stat('file.txt')  # 获取文件属性os.utime('file.txt', (access_time, modification_time))  # 设置文件的访问时间和修改时间

2 路径操作

2.1 获取当前工作目录

current_dir = os.getcwd()

2.2 改变工作目录

os.chdir('/path/to/directory')

2.3 路径操作

os.path.join('dir', 'subdir', 'file.txt')  # 组合路径
os.path.abspath('file.txt')  # 获取绝对路径
os.path.basename('/path/to/file.txt')  # 获取文件名
os.path.dirname('/path/to/file.txt')  # 获取目录名
os.path.exists('/path/to/file.txt')  # 判断路径是否存在
os.path.isdir('/path/to/directory')  # 判断是否为目录
os.path.isfile('/path/to/file.txt')  # 判断是否为文件

2.4 添加 Python 的模块搜索路径列表

os.sys.path.append("../")

3 环境变量

home_dir = os.getenv('HOME')  # 获取环境变量的值
os.environ['MY_VAR'] = 'my_value'  # 设置环境变量的值

4 系统相关

os.system('ls -l')  # 在命令行执行命令os_type = os.name  # 返回操作系统类型(如 'posix', 'nt')import platform
platform_info = platform.system()  # 返回操作系统名称(如 'Linux', 'Windows', 'Darwin')pid = os.getpid()  # 获取当前进程ID

http://www.lryc.cn/news/367684.html

相关文章:

  • 【IC验证】03 UVM
  • Jira的原理及应用详解(六)
  • Linux进程间通信之System V
  • 力扣hot100:394. 字符串解码(递归/括号匹配,字符串之间相对顺序)
  • 【C++11】多线程常用知识
  • 详解linux设备下的/dev/null
  • GPT-4 Turbo 和 GPT-4 的区别
  • 基于小波多分辨分析的一维时间序列信号趋势检测与去除(MATLAB R2018a)
  • Linux RedHat7.6操作系统的xfs格式化后,mount不生效
  • 高并发ping多台主机IP
  • 03 Linux 内核数据结构
  • 关于软件调用独显配置指引【笔记】
  • 正大国际期货:什么是主力合约?
  • codeforces round 949 div2
  • 分享美好,高清无阻 - 直播极简联网解决方案
  • 贪心算法-加油站
  • 【ArcGIS微课1000例】0116:将度-分-秒值转换为十进制度值(字段计算器VBA)
  • 【中国开源生态再添一员】天工AI开源自家的Skywork
  • 【机器学习300问】109、什么是岭回归模型?
  • FJSP:烟花算法(FWA)求解柔性作业车间调度问题(FJSP),提供MATLAB代码
  • C++11 列表初始化(initializer_list),pair
  • Python3 笔记:字符串的 startswith() 和 endswith()
  • Web前端安全问题分类综合以及XSS、CSRF、SQL注入、DoS/DDoS攻击、会话劫持、点击劫持等详解,增强生产安全意识
  • 1.单选题 (2分)下列关于脚本的说法不正确的是( )。本题得分: 2分正确答案: A2.单选题 (2分)软件测试自动化的局限性不包含( )。本题得分: 2分
  • 【Docker系列】跨平台 Docker 镜像构建:深入理解`--platform`参数
  • 力扣1248.统计优美子数组
  • AI2THOR 2.1.0使用教程
  • 在Nginx中配置php程序环境。
  • !力扣70. 爬楼梯
  • Spring boot+vue前后端分离