""" file path """
__author__on__ = 'shaozhiqi 2019/9/23' # !/usr/bin/env python3
# -*- coding: utf-8 -*- # os模块的基本功能
import os print(os.name) # nt
# 如果是posix,说明系统是Linux、Unix或Mac OS X,如果是nt,就是Windows系统 # ----------------------------------------------------------------------------
# 要获取详细的系统信息,可以调用uname()函数:
# print(os.uname())
# 注意uname()函数在Windows上不提供,也就是说,os模块的某些函数是跟操作系统相关的。 # -------------------------------------------------------------------------------
# 操作系统中定义的环境变量,全部保存在os.environ这个变量中,可以直接查看:
print(os.environ)
# 获取某个环境变量的值,可以调用os.environ.get('key'):
print(os.environ.get('PATH'))
# D:\workPython\pythonLearning\Scripts;C:\Program Files (x86)\Java\jdk1.8.0_121\bin;C:\P # ---------------------------------------------------------------------------
# 操作文件和目录的函数一部分放在os模块中,一部分放在os.path模块中,这一点要注意一下。查看、创建和删除目录可以这么调用:
# 查看当前目录的绝对路径:
print(os.path.abspath('.')) # D:\workPython\pythonLearning\pyc\io
# 在某个目录下创建一个新目录,首先把新目录的完整路径表示出来:
os.path.join('D:/workPython/pythonLearning/pyc/io', 'testdir')
# 然后创建一个目录:
os.mkdir('D:/workPython/pythonLearning/pyc/io/testdir')
# 删掉一个目录:
# os.rmdir('D:/workPython/pythonLearning/pyc/io/testdir')
# 把两个路径合成一个时,不要直接拼字符串,而要通过os.path.join()函数,这样可以正确处理不同操作系统的路径分隔符。在Linux/Unix/Mac下,os.path.join()返回这样的字符串:
# part-1/part-2
# 而Windows下会返回这样的字符串:
# part-1\part-2
# 同样的道理,要拆分路径时,也不要直接去拆字符串,而要通过os.path.split()函数,这样可以把一个路径拆分为两部分,后一部分总是最后级别的目录或文件名:
os.path.split('/Users/michael/testdir/file.txt')
# ('/Users/michael/testdir', 'file.txt')
# os.path.splitext()可以直接让你得到文件扩展名,很多时候非常方便: os.path.splitext('/path/to/file.txt')
# ('/path/to/file', '.txt')
# 这些合并、拆分路径的函数并不要求目录和文件要真实存在,它们只对字符串进行操作。 # 文件操作使用下面的函数。假定当前目录下有一个test.txt文件:
# 对文件重命名:
os.rename('test.txt', 'test.py')
# 删掉文件:
os.remove('test.py')
# 但是复制文件的函数居然在os模块中不存在!原因是复制文件并非由操作系统提供的系统调用。理论上讲,我们通过上一节的读写文件可以完成文件复制,只不过要多写很多代码。
# 幸运的是shutil模块提供了copyfile()的函数,你还可以在shutil模块中找到很多实用函数,它们可以看做是os模块的补充。
# 最后看看如何利用Python的特性来过滤文件。比如我们要列出当前目录下的所有目录,只需要一行代码:
[x for x in os.listdir('.') if os.path.isdir(x)]
['.lein', '.local', '.m2', '.npm', '.ssh', '.Trash', '.vim', 'Applications', 'Desktop', ...]
# 要列出所有的.py文件,也只需一行代码:
[x for x in os.listdir('.') if os.path.isfile(x) and os.path.splitext(x)[1] == '.py']

最新文章

  1. Linux 学习
  2. 大数据系列(5)——Hadoop集群MYSQL的安装
  3. js阻止提交表单(post)
  4. Virtual Memory PAGE TABLE STRUCTURE
  5. msm8916 lcd 相关调试点指导
  6. 如何在帝国cms后台菜单栏中添加删除链接?
  7. Yii表单验证
  8. 常用html演示模板
  9. android:ListView的局部刷新
  10. ref参数的用途
  11. IIC 概述之源码仿真
  12. Asp.net web服务处理程序(第六篇)
  13. ARP欺骗,骗你没商量
  14. javascript焦点图(根据图片下方的小框自动播放)
  15. Caddy服务器搭建和实现文件共享
  16. wep api 运行周期
  17. lr12脚本参数化
  18. Python取整函数
  19. error launching installer-最新版Win 10 解决方案
  20. 在tableviewcell里面嵌入switch控件以及如何获取switch控件数据

热门文章

  1. 【Weiss】【第03章】练习3.19:计算后缀表达式
  2. JAVA-阿里云短信服务
  3. Natas27 Writeup(mysql溢出截断漏洞)
  4. Spring Boot入门系列(八)整合定时任务Task,一秒搞定定时任务
  5. Django模型层ORM学习笔记
  6. Django实现简单的用户添加、删除、修改等功能
  7. 初识socket之TCP协议
  8. hdu2642二维树状数组,单点修改+区间查询
  9. Android之练习MVVM+DataBinding框架模式
  10. Dropout的前世与今生