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

[python]python os模块 常用命令

转载:http://www.cnblogs.com/kaituorensheng/archive/2013/03/18/2965766.html

python编程时,经常和文件、目录打交道,这是就离不了os模块。os模块包含普遍的操作系统功能,与具体的平台无关。以下列举常用的命令

1. os.name()——判断现在正在实用的平台,Windows 返回 ‘nt'; Linux 返回’posix'

2. os.getcwd()——得到当前工作的目录。

3. os.listdir()——指定所有目录下所有的文件和目录名。例: 

              

  以列表的形式全部列举出来,其中没有区分目录和文件。

4. os.remove()——删除指定文件

5. os.rmdir()——删除指定目录

6. os.mkdir()——创建目录

  注意:这样只能建立一层,要想递归建立可用:os.makedirs()

7. os.path.isfile()——判断指定对象是否为文件。是返回True,否则False

8. os.path.isdir()——判断指定对象是否为目录。是True,否则False。例:          9. os.path.exists()——检验指定的对象是否存在。是True,否则False.例:

     

10. os.path.split()——返回路径的目录和文件名。例:

     

此处只是把前后两部分分开而已。就是找最后一个'/'。看例子:

     

11. os.getcwd()——获得当前工作的目录(get current work dir)

12. os.system()——执行shell命令。例:

     

注意:此处运行shell命令时,如果要调用python之前的变量,可以用如下方式:

var=123
os.environ['var']=str(var) //注意此处[]内得是 “字符串”
os.system('echo $var')

13. os.chdir()——改变目录到指定目录

14. os.path.getsize()——获得文件的大小,如果为目录,返回0

15. os.path.abspath()——获得绝对路径。例:

    

16. os.path.join(path, name)——连接目录和文件名。例:

    

17.os.path.basename(path)——返回文件名

    

18. os.path.dirname(path)——返回文件路径

    

19. 获得程序所在的实际目录

复制代码
import os
import sys

if __name__ == "__main__":
    print os.path.realpath(sys.argv[0])
    print os.path.split(os.path.realpath(sys.argv[0]))
    print os.path.split(os.path.realpath(sys.argv[0]))[0]
复制代码

执行结果

1
2
3
/home/jihite/ftp/del.py
('/home/jihite/ftp', 'del.py')
/home/jihite/ftp 

 细节——os.path.spilit()把目录和文件区分开

1
2
3
4
5
>>> import os
>>> os.path.split("a/b/c/d")
('a/b/c', 'd')
>>> os.path.split("a/b/c/d/")
('a/b/c/d', '')

  

相关文章:

  • 【深度学习:CNN】深入理解CNN的细节 (1)
  • 【linux系统】apt-get命令解析
  • [linux]资料收纳
  • 【linux系统】Ubuntu根目录下各文件夹的功能详细介绍
  • caffe--安装心得
  • R-FCN、SSD、YOLO2、faster-rcnn和labelImg实验笔记
  • 【深度学习:CNN】GoogLeNet (1)
  • 【深度学习:CNN】GoogLeNet系列解读(1)
  • 工作半年
  • 【Python-Numpy】NumPy的详细教程
  • 【Python教程】Python快速教程
  • 【Python教程】python之路
  • 【深度学习:CNN】Dropout解析(1)
  • 【深度学习:CNN】Dropout解析(2)
  • 【深度学习:CNN】Batch Normalization解析(1)
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 【剑指offer】让抽象问题具体化
  • 3.7、@ResponseBody 和 @RestController
  • jquery ajax学习笔记
  • js 实现textarea输入字数提示
  • Lsb图片隐写
  • python docx文档转html页面
  • REST架构的思考
  • SegmentFault 社区上线小程序开发频道,助力小程序开发者生态
  • 工作手记之html2canvas使用概述
  • 力扣(LeetCode)22
  • 聊一聊前端的监控
  • - 转 Ext2.0 form使用实例
  • ​MPV,汽车产品里一个特殊品类的进化过程
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #我与Java虚拟机的故事#连载07:我放弃了对JVM的进一步学习
  • #在 README.md 中生成项目目录结构
  • $HTTP_POST_VARS['']和$_POST['']的区别
  • (03)光刻——半导体电路的绘制
  • (1)(1.13) SiK无线电高级配置(六)
  • (a /b)*c的值
  • (pytorch进阶之路)扩散概率模型
  • (二)pulsar安装在独立的docker中,python测试
  • (附源码)spring boot校园健康监测管理系统 毕业设计 151047
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm经济信息门户网站 毕业设计 141634
  • (南京观海微电子)——I3C协议介绍
  • (转)Mysql的优化设置
  • (转)Sublime Text3配置Lua运行环境
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .net Stream篇(六)
  • .net web项目 调用webService
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET企业级应用架构设计系列之结尾篇
  • ::什么意思
  • @NestedConfigurationProperty 注解用法
  • @RequestBody与@ModelAttribute
  • [ HTML + CSS + Javascript ] 复盘尝试制作 2048 小游戏时遇到的问题
  • [ vulhub漏洞复现篇 ] Celery <4.0 Redis未授权访问+Pickle反序列化利用
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...