python os模块详解

时间:2023-02-09 22:36:13
一、Python os模块(Linux环境)
1.1 执行shell命令
  • os.system('cmd') 执行命令不保存结果
    python os模块详解
  • os.popen('command') 执行后返回结果,使用.read()方法读出
    python os模块详解
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: '/'
    python os模块详解
    Windows: r'' 前缀r或者\为转义符
    python os模块详解

  2. os.linesep 输出当前平台的行终止符,及文件路径的分割符
    Linux: '\n' 行终止
    Linux: ':' 路径分割
    python os模块详解
    Windows: '\r\n' 行终止
    Windows: ';' 路径分割
    python os模块详解

os.path

os.path 下的方法点击这儿