【Python】Python文件系统功能:os模块
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模块的更多相关文章
- python .pth 文件 和 site 模块
python .pth 文件 和 site 模块 .pth 文件 该文件位于 python 的 /Lib/site-packages 目录下,可以有多个,在 .pth 文件中可以把其它目录添加到 sy ...
- Python 入门之 内置模块 -- os模块
Python 入门之 内置模块 -- os模块 1.os os是和操作系统做交互,给操作发指令 os模块是与操作系统交互的一个接口,它提供的功能多与工作目录,路径,文件等相关 (1)工作路径 prin ...
- python文件处理os模块
一.os模块概述 Python os模块包含普遍的操作系统功能.如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的.(一语中的) 二.常用方法 1.os.name 输出字符串指示正在使用的平台 ...
- python文件操作os模块
Python 统计某一文件夹下文件数量 使用python pathlib模块 from pathlib import Path dir_path = ' ' print(len(list(Path( ...
- 【python基础语法】OS模块处理文件绝对路径,内置的异常类型、捕获、处理(第9天课堂笔记)
import os """ 通过文件的路径去打开文件 相对路径:相对当前的工作路径去定位文件位置 .:代表当前路径 ..:代表上一级路径(父级路径) 绝对路径:相对于电脑 ...
- Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
转:https://m.sogou.com/web/id=4c468b90-3f64-418c-acf8-990b5fe2a757/keyword=python%20os%E6%A8%A1%E5%9D ...
- python杂记-1(os模块)
os模块说明:python os模块包含普遍的操作系统功能 os.access(path, mode) # 检验权限模式 os.chdir(path) # 改变当前工作目录os.chflags(pat ...
- Python标准库之os模块
1.删除和重命名文件 import os import string def replace(file, search_for, replace_with): # replace strings in ...
- 【Python】 sys和os模块
sys sys模块能使程序访问于python解释器联系紧密的变量和函数 ● sys中的一些函数和变量 argv 命令行参数构成的列表 path 查找所有可用模块所在的目录名的列表 platform 查 ...
- python中sys和os模块的使用
在python中,sys,os模块是非常强大的,提供了许多对文件夹.文件和路径的操作方法 sys模块 sys.argv #命令行执行脚本,其实它就是一个列表 ,sys.argv[0] 是程序自身路 ...
随机推荐
- Python函数之总结
''' 1.什么是函数 函数就是具备某一特定功能的工具 2.为什么用函数 减少重复代码 增强程序的扩展性 增强可读性 3.如何用函数 1.函数的使用原则:先定义后调用(*****) 定义阶段:只检测语 ...
- 微服务介绍及Asp.net Core实战项目系列
0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 二.目录 0.微服务介绍 1.RESTful API 规范介绍 2.asp.net core介绍及swagger使用 3.asp. ...
- Object Relational Mapping框架之Hibernate
hibernate框架简介: hibernate框架就是开发中在持久层中应用居多的ORM框架,它对JDBC做了轻量级的封装. (百度介绍,感觉不错) 什么是ORM:Object Relational ...
- TPO-19 C2 Cafeteria's Food Policy
TPO-19 C2 Cafeteria's Food Policy 第 1 段 1.Listen to a conversation between a student and the directo ...
- Controller - 压力机的设置 - 界面图表分析
一. Controller- 压力机界面的一下设置讲解 2种测试场景的设计和压测策略 二. Controller- 压力机界面的图表分析
- 【Ansible】ansible 任务失败控制
任务失败控制 Ansible 通常默认会确保检测模块和命令的返回码并且会快速失败 – 专注于一个错误除非你另作打算. 有时一条命令会返回 0 但那不是报错.有时命令不会总是报告它 ‘改变’ 了远程系统 ...
- Redis勒索事件爆发,如何避免从删库到跑路?
欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云数据库 TencentDB发表于云+社区专栏 9月10日下午,又一起规模化利用Redis未授权访问漏洞攻击数据库的事件发生,此次 ...
- RabbitMQ理论部分
概念 queue 队列 exchange 交换机 bind 绑定 channel 通道 一个发送消息流程包含上述四个概念.消息经过channel传递给exc ...
- Thunder-Beta发布-事后诸葛亮会议-2017秋-软件工程第十一次作业
小组名称:Thunder项目名称:爱阅APP小组成员:王航 李传康 翟宇豪 邹双黛 苗威 宋雨 胡佑蓉 杨梓瑞一.设想和目标 1.我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有 ...
- 必应词典手机版(IOS版)与有道词典(IOS版)之问卷分析
我们制定了一个调查问卷: 1.年龄分布: 2.地域分布: 3.是否用过必应词典? 对于必应词典还是没用过的人数更多. 4.是否用过有道词典? 有道词典的使用率更高一点. 5.对于必应的基本功能给几分? ...