1.os模块方法分类

(1)目录:

    chdir()         改变工作目录
chroot() 设定当前进程的根目录
listdir() 列出指定目录下的所有文件名
mkdir() 创建指定目录
makedirs() 创建多级目录
getcwd() 返回当前工作目录
rmdir() 删除指定目录
removedirs() 删除多级目录

(2)文件:

    mkinfo()        创建管道
mknod() 创建设备文件
remove() 删除文件
unlink() 删除链接文件
rename() 重命名
stat() 返回文件状态信息
symlink() 创建符号链接
utime() 更新时间戳
tmpfile() 创建并打开(w+b)一个新的临时文件

(3)访问权限

    access(path, mode)      判断指定用户是否有访问权限      os.access('/tmp',0)   uid为0用户是否有权限访问/tmp目录
chmod(path,mode) 修改权限 os.chmod('/tmp/s',0640) 将/tmp/s 权限修改为640
chown(path,uid,gid) 修改属主、属组
umask() 设置默认权限模式 os.umask(022)

(4)设备文件

    makedev()       创建设备
major() 指定设备获取主设备号
minor() 指定设备获取次设备号

(5)文件描述符

    open()          较低的IO打开
read() 较低的IO读
write() 较低的IO写 4、5相对用的少
补充:
os.walk() 相当于tree命令
>>> import os
>>> a1 = os.walk('/root')
>>> a1.next()
('/root',
['.subversion', '.ssh', '.ipython', '.pki', '.cache'],
['test.py',
'.bash_history',
'.cshrc',
'.bash_logout',
'.tcshrc',
'.bash_profile',
'.mysql_history',
'.bashrc',
'.viminfo'])
返回一个元组,由(文件名,[文件夹],[文件]) 组成

2.os模块中的path模块

1)跟文件路径相关

    basename()      路径基名
dirname() 路径目录名
join() 整合文件名
split() 返回dirname(),basename()元组
splitext() 返回(filename,extension)元组 例:
>>> dir1 = os.path.dirname('/etc/sysconfig/iptables-config')
>>> dir1
'/etc/sysconfig'
>>> file1 = os.path.basename('/etc/sysconfig/iptables-config')
>>> file1
'iptables-config'
>>> os.path.join(dir1,file1)
'/etc/sysconfig/iptables-config'
>>> for filename in os.listdir('/tmp'):
print os.path.join('/tmp',filename)

2)信息

    getatime()      返回文件最近一次访问时间
getmtime() 返回文件最近一次修改时间
getctime() 返回文件最近一次改变时间
getsize() 返回文件的大小

3)查询

    exists()        判断指定文件是否存在    isabs()         判断指定的路径是否为绝对路径
isdir() 是否为目录
isfile() 是否为文件
islink() 是否符号链接
ismount() 是否为挂载点
sanefile(f1,f2) 两个路径是否指向了同一个文件 例:判断文件是否存在,存在则打开,让用户通过键盘反复输入多行数据,追加保存至此文件中
>>> import os
>>> import os.path
>>> if os.path.isfile('/tmp/s'):
f1 = open('/tmp/s','a+')
while True:
a2 = raw_input("Input >> ")
if a2 == 'q' or a2 == 'quit' :
break
f1.write(a2+'\n')
f1.close()

4)对象持久存储

    把变量从内存中变成可存储或传输的过程称之为序列化
pickle、marshal、DBM接口、shelve模块 pickle 将内存对象持久存储在文件中
>>> import pickle
>>> dict1 = {'x':1,'y':2,'z':'hello world'}
>>> f1 = open('/tmp/s','a+')
>>> pickle.dump(dict1,f1) 通过流逝化将字典保存在文件中
>>> f1.close()
# file /tmp/s
/tmp/s: ASCII text
# cat /tmp/s
(dp0
S'y'
p1
I2
sS'x'
p2
I1
sS'z'
p3
S'hello world'
p4
s.
>>> f2 = open('/tmp/s','a+')
>>> dict2 = pickle.load(f2) 重新装载
>>> dict2
{'x':1,'y':2,'z':'hello world'

【Python】Python文件系统功能:os模块的更多相关文章

  1. python .pth 文件 和 site 模块

    python .pth 文件 和 site 模块 .pth 文件 该文件位于 python 的 /Lib/site-packages 目录下,可以有多个,在 .pth 文件中可以把其它目录添加到 sy ...

  2. Python 入门之 内置模块 -- os模块

    Python 入门之 内置模块 -- os模块 1.os os是和操作系统做交互,给操作发指令 os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关 (1)工作路径 prin ...

  3. python文件处理os模块

    一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...

  4. python文件操作os模块

    Python 统计某一文件夹下文件数量 使用python  pathlib模块 from pathlib import Path dir_path = ' ' print(len(list(Path( ...

  5. 【python基础语法】OS模块处理文件绝对路径,内置的异常类型、捕获、处理(第9天课堂笔记)

    import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑 ...

  6. Python学习笔记之读取文件、OS模块、异常处理、with as语法示例

    转:https://m.sogou.com/web/id=4c468b90-3f64-418c-acf8-990b5fe2a757/keyword=python%20os%E6%A8%A1%E5%9D ...

  7. python杂记-1(os模块)

    os模块说明:python os模块包含普遍的操作系统功能 os.access(path, mode) # 检验权限模式 os.chdir(path) # 改变当前工作目录os.chflags(pat ...

  8. Python标准库之os模块

    1.删除和重命名文件 import os import string def replace(file, search_for, replace_with): # replace strings in ...

  9. 【Python】 sys和os模块

    sys sys模块能使程序访问于python解释器联系紧密的变量和函数 ● sys中的一些函数和变量 argv 命令行参数构成的列表 path 查找所有可用模块所在的目录名的列表 platform 查 ...

  10. python中sys和os模块的使用

    在python中,sys,os模块是非常强大的,提供了许多对文件夹.文件和路径的操作方法 sys模块 sys.argv   #命令行执行脚本,其实它就是一个列表 ,sys.argv[0] 是程序自身路 ...

随机推荐

  1. [JLOI2013]地形生成[组合计数]

    题意 \(n\) 元素各有一个高度 \(h\) 和关键数字 \(b\) .求有多少个下标序列和高度序列,满足对任意 \(i\),\(j< i\) 且 \(h_j < h_i\)的 \(j\ ...

  2. js中哈希表的几种用法总结

    本篇文章只要是对js中哈希表的几种用法进行了总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助 1. <html> <head> <script type=" ...

  3. 火狐浏览器油猴子GreaseMonkey使用教程

    火狐浏览器油猴子GreaseMonkey使用教程 首先下载火狐浏览器 安装成功后用火狐浏览器打开链接,界面如下 然后搜索GreaseMonkey. 搜索结果,图标是个小猴子,然后添加到火狐浏览器,成功 ...

  4. python类与对象的组合与继承

    1.把类的对象实例化放到一个新的类里面叫做类的组合,组合就是指几个横向关系的类放在一起,纵向关系的类放在一起是继承,根据实际应用场景确定.简单的说,组合用于“有一个”的场景中,继承用于“是一个”的场景 ...

  5. RabbitMQ入门:路由(Routing)

    在上一篇博客<RabbitMQ入门:发布/订阅(Publish/Subscribe)>中,我们认识了fanout类型的exchange,它是一种通过广播方式发送消息的路由器,所有和exch ...

  6. 解决java读取大文件内存溢出问题

    1. 传统方式:在内存中读取文件内容 读取文件行的标准方式是在内存中读取,Guava 和Apache Commons IO都提供了如下所示快速读取文件行的方法: Files.readLines(new ...

  7. 012-- mysql的分区和分表

    分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中. mysql支持的分区类型包括Range.List.Hash.Key,其中Range比较常用: RANGE分区:基于属于一个给定连续区 ...

  8. Rabbitmq安装及启动 MAC系统

    1.安装 brew install rabbitmq 2.启动及关闭RabbitMQ服务 前台启动 sudo ./rabbitmq-server    或 sudo su/usr/local/Cell ...

  9. Spring Cloud限流思路及解决方案

    转自: http://blog.csdn.net/zl1zl2zl3/article/details/78683855 在高并发的应用中,限流往往是一个绕不开的话题.本文详细探讨在Spring Clo ...

  10. 第14讲:嵌入式SQL语言(基本技巧)

    一.交互式SQL的局限 & 嵌入式SQL的必要性 专业人员(如DBA)可以熟练地运用交互式SQL语言,但普通用户却不是那么容易上手,所以需要通过数据库应用程序来使用数据库.编写一个可以与数据库 ...