python os模块详解
一、Python os模块(Linux环境)
1.1 执行shell命令
- os.system('cmd') 执行命令不保存结果

- os.popen('command') 执行后返回结果,使用.read()方法读出

1.2 对文件和目录的创建删除等
1.2.1 目录
- os.getcwd()获得当前目录
- os.curdir 当前目录
- os.pardir 父目录
>>> import os
>>> os.getcwd()
'/home/shiqi'
>>> os.curdir
'.'
>>> os.pardir
'..'
1.2.2 创建和删除目录
- os.mkdir('a_dir') 创建单级目录
- os.rmdir('a_dir') 删除单级目录
>>> os.mkdir('a_dir')
>>> os.system('ls')
a_dir vmwaretools
README.md rpc_none.py shiqi_ssh.txt
0
>>> os.rmdir('a_dir')
>>> os.system('ls')
README.md rpc_none.py shiqi_ssh.txt
vmwaretools
0
- os.makedirs('/home/shiqi/b_par_dir/bb_child_dir/bbb_dir')
递归的创建多级目录,等于linux下mkdir -p - os.removedirs('./b_par_dir/bb_child_dir/bbb_dir')
递归的删除空目录,有文件就不删,linux下rm -r
root@zengyue:/home/shiqi# ls
README.md rpc_none.py shiqi_ssh.txt
rpc_homework_server.py shiqigo.py vmwaretools
>>> import os
>>> os.makedirs('/home/shiqi/b_par_dir/bb_child_dir/bbb_dir')
root@zengyue:/home/shiqi# ls
b_par_dir vmwaretools
README.md rpc_none.py shiqi_ssh.txt
root@zengyue:/home/shiqi# cd ./b_par_dir/bb_child_dir/bbb_dir/
root@zengyue:/home/shiqi/b_par_dir/bb_child_dir/bbb_dir# pwd
/home/shiqi/b_par_dir/bb_child_dir/bbb_dir
>>> os.removedirs('/home/shiqi/b_par_dir/bb_child_dir/bbb_dir')
>>> os.system('ls')
README.md rpc_none.py shiqi_ssh.txt
vmwaretools
- os.listdir('.') 返回指定目录下的文件(目录)列表
- os.remove() 删除指定文件
>>> os.listdir('.')
['rpc_none.py', 'vmwaretools', 'README.md', 'shiqi_ssh.txt', '.rpc_server.py']
二、重要的各种分割符号
1. os.sep 输出操作系统的分隔符
Linux: '/'

Windows: r'\' 前缀r或者\\为转义符

- os.linesep 输出当前平台的行终止符,及文件路径的分割符
Linux: '\n' 行终止
Linux: ':' 路径分割
Windows: '\r\n' 行终止
Windows: ';' 路径分割
os.path
os.path 下的方法点击这儿
人生还有意义。那一定是还在找存在的理由
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?