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. 关于判断用户输入的是不是int类型,这次没有正则表达式

    末尾没有目的地的出租车,污点证人禁止入内!!! 不同的尝试有不同的方法 关于int类型的判断,我尝试了这么一个方法,可行,只是笨 正则表达式我没有搞清楚,没办法给大家讲解,欢迎各位明白人讲解,或者是我 ...

  2. c# ajax从后台获取数据list数组 $.each再显示数据

    后台代码 public JsonResult linkage(string Department) {//逻辑是:先从数据库查到表数据 再把表数据转换为LIST给AJAX HE_Department ...

  3. 用C链表实现约瑟夫环问题

    问题:设有n个人围成一个圆圈,现从第s个人开始报数,数到第m的人出列,然后从出列的下一个人重新开始报数,数到第m的人再次出列,如此反复,直到所有的人全部出列为止.对于任意给定的n.s.m,求按出列次序 ...

  4. oracle vm virtualbox 保存虚拟系统,重装后使用

    直接将VirtualBox VMs 文件夹打包,然后在新系统中装好virtualbox 解压virtualBox VMs ,在系统文件夹中找到 .vbox结尾的文件,点击, 就可以看到熟悉的系统出现在 ...

  5. svn树冲突的解决方法

    树冲突 就是开发人员移动.重命名.删除一个文件或文件夹,而另一名开发人员也对它们进行了移动.重命名.删除或者仅仅是修改时就会发生树冲突.有很多种不同的情形可以导致树冲突,而且不同的情形需要不同的步骤来 ...

  6. Maven ResourceBundle.getBundle读取Properties异常MissingResourceException: Can't find bundlei解决方法

    参考:https://blog.csdn.net/thousa_ho/article/details/72817616 问题描述 ResourceBundle读取properties配置文件提示 Mi ...

  7. 笔试题——C++开发简单记录错误模块

    题目:链接:https://www.nowcoder.com/questionTerminal/67df1d7889cf4c529576383c2e647c48 来源:牛客网 解析及代码来源:http ...

  8. caffe/blob.hpp:9:34: fatal error: caffe/proto/caffe.pb.h: 没有那个文件或目录

    You need to generate caffe.pb.h manually using protoc as follows. # In the directory you installed C ...

  9. iOS 模块化、组件化方案探索(利用cocoapods 、git 创建私有仓库)

    来自bang's blog http://blog.cnbang.net/tech/3080/ 模块化 简单来说,模块化就是将一个程序按照其功能做拆分,分成相互独立的模块,以便于每个模块只包含与其功能 ...

  10. 机器装多个版本php,并安装redis插件报错【已解决】

    机器原版本php5.5.3 适应新的框架安装了7.1.12 期间遇到的小问题就是安装 redis插件的时候,总报错,报错如下: Starting php-fpm [02-Jan-2019 10:15: ...