python os模块详解
一、Python os模块(Linux环境)
1.1 执行shell命令
- os.system('cmd') 执行命令不保存结果
![](https://images2018.cnblogs.com/blog/1226829/201808/1226829-20180805231116905-284539462.png)
- os.popen('command') 执行后返回结果,使用.read()方法读出
![](https://images2018.cnblogs.com/blog/1226829/201808/1226829-20180806003007705-1147413460.png)
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: '/'
![](https://images2018.cnblogs.com/blog/1226829/201808/1226829-20180806001657552-53715858.png)
Windows: r'\' 前缀r或者\\为转义符
![](https://images2018.cnblogs.com/blog/1226829/201808/1226829-20180806001809946-937226643.png)
- os.linesep 输出当前平台的行终止符,及文件路径的分割符
Linux: '\n' 行终止
Linux: ':' 路径分割
Windows: '\r\n' 行终止
Windows: ';' 路径分割
os.path
os.path 下的方法点击这儿
人生还有意义。那一定是还在找存在的理由