Python3 学习第九弹: 模块学习二之文件管理模块
os模块
提供访问操作系统的接口 1> name
获得当前操作系统
其中 'nt' 是 windows 'posix' 是 linux 2> environ
获得当前系统的环境变量的字典,(变量名:变量值) 3> getcwd()
获得当前工作目录 4> getgid()
返回当前进程的真实组id 5> getlogin()
返回当前登录的用户名 6> getpid()
返回当前进程的pid 7> system(command)
运行shell命令
在linux下是运行终端,在windows下是运行cmd,故命令不同
因为能够运行shell命令,故可以通过这个来打开软件
例如在'C:\\'下有一个浏览器
>>> os.system(r'C:\firefox.exe')
通过这样就可以打开firefox浏览器
返回值只为0(成功),1,2
8> popen(command)
与system函数几乎相同,不同在于popen可以返回命令获取的值,常常用于'管道' 9> startfile(path)
直接运行path路径下软件 #以下命令均与linux下终端控制的文件管理命令几乎相同 10> mkdir(path)
创建新目录,相当于linux下 $mkdir 命令 11> rmdir(path)
删除空目录,相当于linux下 $rmdir 命令 12> list(path)
返回路径目录中所有文件及文件夹,相当于linux下 $ls 命令 13> remove(path)
删除文件,相当于linux下 $rm 命令 14> rename(src, dst)
重命名文件,src与dst分别为命名前后的文件路径,也就是说不仅可以对文件进行重命名,同时可以改变文件的路径,相当于剪切 15> chmod(path, mode)
改变文件的权限,相当于linux下 $chmod 命令 16> chown(path, uid, gid)
改变文件拥有者和拥有组,相当于linux下 $chown 命令 17> stat(path)
查看文件的属性,返回值中st_atime(访问时间), st_mtime(修改时间), st_ctime(创建时间), st_size(文件大小/字节) 相当于linux下 $ls -l 命令 18> symlink(src, dst)
为路径为src的文件在路径dst上创建软链接,相当于linux下 $ln -s 命令 Add: 17> walk(path, topdown = True, onerror = None)
以递归的方式遍历path目录
a) 每次遍历到一个目录,返回三元组(文件目录绝对路径,当前目录的文件夹,当前目录的文件)
b) topdown为true时,表示先遍历当前目录的文件,再遍历当前目录的子目录。反之,topdown为false时,先遍历当前目录的子目录,返回子目录下的文件,最后返回当前目录下的文件
c) onerror为none时,表示忽略文件遍历时产生的错误,否则可以自定义添加函数对提示错误信息后进行操作 >>> path = r'D:\\Test'
>>> for root, dirs, files in os.walk(path)
print(root, dirs, files)
os.path模块
提供许多处理长文件名(路径名)的函数(或者说你就不需要处理前后斜杠)
1> basename(path)
去掉目录路径,返回文件名 2> dirname(path)
去掉文件名,返回目录路径 3> split(path)
返回(路径, 文件名)的元组 4> splitext(path)
返回(文件名, 扩展名)的元组 5> join(path, *path)
给出路径中所有文件名生成路径
>>> os.path.join('..', 'a', 'b', 'new.txt')
'..\\a\\b\\new.txt' # 检查文件名(路径)的特征
6> exists(path)
判断文件或目录是否存在 7> isdir(path)
判断是否为文件夹 8> isfile(path)
判断是否为文件 9> islink(path)
判断是否为链接,若系统不支持链接形式,返回False 10> isabs(path)
判断是否为绝对路径 11> abspath(path)
返回该文件的绝对路径 # 文件信息
12> getsize(path)
返回文件大小 13> getatime(path)
返回文件最近访问时间 14> getctime(path)
返回文件创建时间 15> getmtime(path)
返回文件最近修改时间
返回时间可用time中的gmtime获得标准输出时间 16> 调用一些路径标识符(大都为linux标准)
altsep = '/'
curdir = '.'
defpath = r'.;C:\bin'
devnull = 'nul'
extsep = '.'
pardir = '..'
pathsep = ';'
sep = r'\'
supports_unicode_filenames = True
shutil模块
提供高层次的文件操作接口 1> copy(src, dst)
复制文件,从src到dst,相当于linux下 $cp 命令 2> move(src, dsc)
移动文件,从src到dst,相当于linux下 $mv 命令
Python3 学习第九弹: 模块学习二之文件管理模块的更多相关文章
- python模块知识二 random -- 随机模块、序列化 、os模块、sys -- 系统模块
4.random -- 随机模块 a-z:97 ~ 122 A-Z :65 ~ 90 import random #浮点数 print(random.random())#0~1,不可指定 print( ...
- Python常用模块学习
1.模块介绍 2.time & datetime模块 3.random 4.os 5.sys 6.shutil 7.json&pickle 8.shelve 9.xml处理 10.ya ...
- ansible笔记(8):常用模块之系统类模块(二)
ansible笔记():常用模块之系统类模块(二) user模块 user模块可以帮助我们管理远程主机上的用户,比如创建用户.修改用户.删除用户.为用户创建密钥对等操作. 此处我们介绍一些user模块 ...
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
一.前提介绍: 可以开辟作用域的只有类,函数,和模块 for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...
- Python3 学习第一弹:基本数据类型
本人学习主要从<python基础教程第二版>,<dive into python3>等书籍,及一些网上大牛的博客中学习特别是Python官方文档<Python Tutor ...
- 『MXNet』第九弹_分类器以及迁移学习DEMO
解压文件命令: with zipfile.ZipFile('../data/kaggle_cifar10/' + fin, 'r') as zin: zin.extractall('../data/k ...
- Python学习 :常用模块(二)
常用模块(二) 四.os模块 os模块是与操作系统交互的一个接口,用于对操作系统进行调用 os.getcwd() # 提供当前工作目录 os.chdir() # 改变当前工作目录 os.curdir( ...
- Python学习笔记总结(二)函数和模块
一.函数 函数的作用:可以计算出一个返回值,最大化代码重用,最小化代码冗余,流程的分解. 1.函数相关的语句和表达式 语句 例子 Calls myfunc(‘diege', ...
- Python 学习 第九篇:模块
模块是把程序代码和数据封装的Python文件,也就是说,每一个以扩展名py结尾的Python源代码文件都是一个模块.每一个模块文件就是一个独立的命名空间,用于封装顶层变量名:在一个模块文件的顶层定义的 ...
随机推荐
- 不定义JQuery插件,不要说会JQuery
转自:http://www.cnblogs.com/xcj26/p/3345556.html 一:导言 有些WEB开发者,会引用一个JQuery类库,然后在网页上写一写$("#") ...
- Javascript引擎单线程机制及setTimeout执行原理说明
setTimeout用法在实际项目中还是会时常遇到.比如浏览器会聪明的等到一个函数堆栈结束后才改变DOM,如果再这个函数堆栈中把页面背景先从白色设为红色,再设回白色,那么浏览器会认为DOM没有发生任何 ...
- java输出流实现文件下载
//导出Excel try { HSSFWorkbook wb = carService.export(list); //调用service方法~! response.setContentType(& ...
- 哪些问题困扰着我们?DevOps 使用建议
[编者按]随着 DevOps 被欲来越多机构采用,一些共性的问题也暴露出来.近日,Joe Yankel在「Devops Q&A: Frequently Asked Questions」一文中总 ...
- mysql 事务提交过程
打开binlog选项后,执行事务提交命令时,就会进入两阶段提交模式.两阶段提交分为prepare阶段和commit两个阶段.流程如下 :这里面涉及到两个重要的参数:innodb_flush_log_ ...
- iOS正则匹配手机号
#pragma 正则匹配手机号 + (BOOL)validateMobile:(NSString *)mobileNum { /** * 手机号码 * 移动:134[0-8 ...
- D&F学数据结构系列——二叉排序树
二叉排序树(Binary Sort Tree) 定义:对于树中的每个结点X,它的左子树中所有关键字值小于X的关键字值,而它的右子树中所有关键字值大于X的关键字值. 二叉查找树声明: #ifndef _ ...
- github研究
一个程序猿一定会用git,但是我还没怎么用过,平时真是懒啊,学习之!...
- BZOJ 2661: [BeiJing wc2012]连连看 费用流
2661: [BeiJing wc2012]连连看 Description 凡是考智商的题里面总会有这么一种消除游戏.不过现在面对的这关连连看可不是QQ游戏里那种考眼力的游戏.我们的规则是,给出一个闭 ...
- lintcode:将二叉树拆成链表
题目 将一棵二叉树按照前序遍历拆解成为一个假链表.所谓的假链表是说,用二叉树的 right 指针,来表示链表中的 next 指针. 注意事项 不要忘记将左儿子标记为 null,否则你可能会得到空间溢出 ...