您的位置:首页 > 编程语言 > Python开发

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

2015-07-06 21:34 716 查看
os模块(1)

介绍

os

常量

文件目录操作

文件属性操作

遍历文件夹

介绍

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团队】 原文链接: /article/6669104.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: