码迷,mamicode.com
首页 > 编程语言 > 详细

[Python基础]009.os模块(1)

时间:2015-07-06 23:09:53      阅读:305      评论:0      收藏:0      [点我收藏+]

标签:

os模块(1)


介绍

  • os模块是系统服务应用程序接口,是Python最常用的模块之一。
  • os模块包含了对文件和文件夹的操作操作系统相关的操作等。
  • 以及os.path模块,主要处理路径操作

os

常量

  • os.linesep 换行符,Unix为 \n ,Win32为 \r\n
  • os.sep 文件路径分隔符,Unix为 /,Win32为 \
  • os.pathsep 多个文件路径间的分隔符,Unix为 :,Win32为 ;
  • os.curdir 当前工作目录
  • os.pardir 当前工作目录的父目录

代码

import os
print os.linesep
print os.sep
print os.pathsep
print os.curdir
print os.pardir

 

文件目录操作

  • os.mkdir 创建指定目录
  • os.rmdir 删除指定目录
  • os.listdir 列出指定目录的文件
  • os.chdir 改变当前文件目录
  • os.chroot 改变当前进程的根目录
  • os.getcwd 显示当前目录
  • os.makedirs 创建多层目录
  • os.removedirs 删除多层目录
  • os.mknod 创建空文件
  • os.remove 删除文件

代码

import os

path = /xxx       # 目录路径

# 创建目录
os.mkdir(path + /newdir)          # 要创建目录的父目录必须存在
os.mkdir(path + /newdir2, 0666)   # 0666为权限

# 删除目录
os.rmdir(path + /newdir)          # 该目录必须没有内容

# 列出目录的文件
print os.listdir(/xxx)        # 返回一个数组包含该目录下所有文件文件夹的名字

# 更改当前文件目录
os.chdir(/xxx)                # 多用于执行系统命令时的环境变化

# 更改当前进程的根目录
os.chroot(/xxx)

# 显示当前目录
print os.getcwd()               

# 创建多层目录
# os.mkdir只能创建一层目录,当父目录不存在时就会报错
# 而os.makedirs就可以直接创建多层目录
os.makedirs(path + /newdir3/mypython/xxx)

# 删除多层目录
# 每层都要是空的,除了要删除目录
os.removedirs(path + /newdir3/mypython/xxx)

# 创建空文件
os.mknod(path + /abc.txt)

# 删除文件
os.remove(path + /abc.txt)

 

文件属性操作

  • os.rename 文件改名
  • os.stat 查看文件状态
  • os.chmod 修改文件权限
  • os.chown 修改文件所有人

代码

import os

# 要操作的文件
filepath = /xxx/abc.txt

# 改名
os.rename(filepath, /xxx/xyz.txt) # abc.txt 改名为 xyz.txt

# 查看文件状态
fs = os.stat(filepath)  # 返回一组文件状态
# 包含了10个属性:
print fs.st_mode        # 模式
print fs.st_ino         # 索引号
print fs.st_dev         # 设备
print fs.st_nlink       # 硬链接号
print fs.st_uid         # 用户id
print fs.st_gid         # 组id
print fs.st_size        # 大小
print fs.st_atime       # 访问时间
print fs.st_mtime       # 修改时间
print fs.st_ctime       # 创建时间

# 修改文件权限
os.chomd(filepath, 0777)    # 修改文件权限为777

# 修改文件所有人
uid = 1123
gid = 1123
os.chown(filepath, uid, gid)

 

遍历文件夹

  • os.walk 用for循环遍历所有文件
  • os.path.walk 用回调函数遍历所有文件

代码

import os

# 打印文件夹下所有文件

# 方法一 os.walk
# for遍历 root, dirs, files为用于遍历的参数
for root, dirs, files in os.walk(/Users/linfan/Desktop/xxx):
    print =========
    print 文件夹:, root
    print 包含文件:
    for f in files:
        print f

# 方法二 os.path.walk
# 回调函数 参数arg是os.path.walk方法传过来的参数
# 参数dirname为文件夹
# 参数files是该文件夹下的所有文件
def print_file(arg, dirname, files):
    print ==========, arg
    print 文件夹:, dirname
    print 包含文件:
    for f in files:
        print f

os.path.walk(r"/Users/linfan/Desktop/xxx", print_file ,abc)

 


 

 技术分享

本站文章为 宝宝巴士 SD.Team 原创,转载务必在明显处注明:(作者官方网站: 宝宝巴士 
转载自【宝宝巴士SuperDo团队】 原文链接: http://www.cnblogs.com/superdo/p/4625483.html

 

 

 

[Python基础]009.os模块(1)

标签:

原文地址:http://www.cnblogs.com/superdo/p/4625483.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!