一、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)

  1. os.linesep 输出当前平台的行终止符,及文件路径的分割符

    Linux: '\n' 行终止

    Linux: ':' 路径分割



    Windows: '\r\n' 行终止

    Windows: ';' 路径分割

os.path

os.path 下的方法点击这儿

python os模块详解的更多相关文章

  1. python os 模块详解

    os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'. os.getcwd:得 ...

  2. python之OS模块详解

    python之OS模块详解 ^_^,步入第二个模块世界----->OS 常见函数列表 os.sep:取代操作系统特定的路径分隔符 os.name:指示你正在使用的工作平台.比如对于Windows ...

  3. python time模块详解

    python time模块详解 转自:http://blog.csdn.net/kiki113/article/details/4033017 python 的内嵌time模板翻译及说明  一.简介 ...

  4. python docopt模块详解

    python docopt模块详解 docopt 本质上是在 Python 中引入了一种针对命令行参数的形式语言,在代码的最开头使用 """ ""&q ...

  5. (转)python collections模块详解

    python collections模块详解 原文:http://www.cnblogs.com/dahu-daqing/p/7040490.html 1.模块简介 collections包含了一些特 ...

  6. python pathlib模块详解

    python pathlib模块详解    

  7. Python Fabric模块详解

    Python Fabric模块详解 什么是Fabric? 简单介绍一下: ​ Fabric是一个Python的库和命令行工具,用来提高基于SSH的应用部署和系统管理效率. 再具体点介绍一下,Fabri ...

  8. python time 模块详解

    Python中time模块详解 发表于2011年5月5日 12:58 a.m.    位于分类我爱Python 在平常的代码中,我们常常需要与时间打交道.在Python中,与时间处理有关的模块就包括: ...

  9. python模块-OS模块详解

    1.按字母分 os相关的函数:143个.按字母排序如下: ['abort', 'access', 'altsep', 'chdir', 'chmod', 'chown', 'chroot', 'clo ...

随机推荐

  1. 3d max 动作Take 001改名

    问题描述 带动作的Fbx文件导入Unity之后,动作名字为Take 001,如下所示: 在max那边是没有办法改名的,只能在Unity中改名. 方法1 1. 选中动画文件,按Ctrl + D,复制一份 ...

  2. Linux安装Python3后,如何使用pip命令

    系统环境:CentOS7.4 已安装好Python3.6.5 Python3.6.5自带pip 使用pip安装第三方库,可运行指令,例如安装paramiko库: python -m pip insta ...

  3. Python3 socket网络编程(一)

    Socket的定义 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建 ...

  4. ubuntu 打开eclipse出现A Java Runtime Environment (JRE) or Java Development Kit (JDK) must be ... 解决方法(转载)

    原创作者:http://www.cnblogs.com/jerome-rong/archive/2013/02/19/2916608.html Java RunTime Environment (JR ...

  5. Cesium实现键盘控制镜头效果

    w-前进   a-左转  d-右转  s-后退  q-上仰 鼠标左键按住左右移动更换角度 html代码如下: <div id="cesiumContainer" style= ...

  6. 【C编程基础】make命令和makefile文件

    1.关于程序的编译和链接 一般来说,无论是C.C++首先要把源文件编译成中间目标文件即 Object File(windows为.obj文件,unix为.o文件),这个动作叫做编译(compile). ...

  7. html文本格式

  8. 关于IDE的选择

    以往忘了看到谁说的,说开发.NET就用VS,开发JS就用webStorm,开发java没钱用Eclipse,有钱用IDEA

  9. Hibernate知识点总结(一)

    前言:学习的过程在于不断的总结与思考,这里记下笔者在学习过程中,所遇到的知识点,增加对框架掌握的熟悉程度. 1.环境的搭建 通过maven可以轻松搭建hibernate的环境. <propert ...

  10. JZOJ 5602.【NOI2018模拟3.26】Cti

    JZOJ 5602.[NOI2018模拟3.26]Cti Description 有一个 \(n×m\) 的地图,地图上的每一个位置可以是空地,炮塔或是敌人.你需要操纵炮塔消灭敌人. 对于每个炮塔都有 ...