马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
《零基础入门学习Python》
——学习笔记
030文件系统:介绍一个高大上的东西
一. 定义分析
1. 模块:用来打包某些相似类型的函数叫做模块,模块可以被别的程序引入。
格式:模块.函数(对,你没有看错,点后边的是函数而不是方法。)
2. os模块:os是operating system(操作系统)的意思。
os模块就是对文件及目录的操作函数打包。
3. os模块部分函数用法:
(1)getcwd():返回当前的工作目录(代码,代码的所在位置)
(2)chdir(path):改变工作目录path为改变后的目录位置。
(3)listdir(path=’.’):列举目录中的文件名。‘.’为当前目录,‘..’表示上一级目录。(不存在’...’啊,不要用错啦)如果path为空则默认为列举当前目录文件名。
注:mkdir,makedirs,remove,rmdir,removedirs等函数就不多讲解,视频里都有,实在忘了可以看表格。
4. os.path模块:os.path是一个模块,path并不是函数;os.path模块在形式上大致与os模块相同。
5. os.path模块部分函数用法:
(1) os.path.join(path1[,]path2[]..):合并path1,path2的路径,自动添加\\。如果最后字符为:,则该部分不加\\。#举例子
>>> import os
>>> os.path.join('a','b','c')
'a\\b\\c'
>>> os.path.join('a:','b','c')
'a:b\\c'
(2) os.path.split(path):用来分割文件名和路径名。#举例子
>>> import os
>>> os.path.split('C:\\Game\\star.avi')
('C:\\Game', 'star.avi')
os.path.splitext(path):用来分割文件名和文件类型。#举例子
>>> os.path.splitext('C:\\Game\\star.avi')
('C:\\Game\\star', '.avi')
(3) os.path.getatime(file):返回文件的最近访问时间
os.path.getctime(file):返回文件的创建时间
os.path.getmtime(file):返回文件最近修改时间
以上三个函数表现形式皆为浮点型秒数,需要用time模块的gmtime()或localtime()函数换算)#举例子
>>> os.path.getctime('C:\\Users\\徐鑫\\Desktop\\A')
1501896975.851228
>>> os.mkdir('C:\\Users\\徐鑫\\Desktop\\A')
>>> import time
>>> time.gmtime(os.path.getctime('C:\\Users\\徐鑫\\Desktop\\A'))
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=5, tm_hour=1, tm_min=36, tm_sec=15, tm_wday=5, tm_yday=217, tm_isdst=0)
>>> time.localtime(os.path.getctime('C:\\Users\\徐鑫\\Desktop\\A'))
time.struct_time(tm_year=2017, tm_mon=8, tm_mday=5, tm_hour=9, tm_min=36, tm_sec=15, tm_wday=5, tm_yday=217, tm_isdst=0)
6. 绝对路径和相对路径:绝对路径就是带盘符的路径,相对路径就是不带盘符的路径。
7. 查询函数:查询函数也是os.path中的函数这里只讲一下samefile(path1,path2),这个函数可以用来判断两个路径是否指向同一个文件。下面用ooxx7788兄弟的代码举一下例子。#举例子
In [13]: os.getcwd()
Out[13]: 'e:\\python'
In [14]: os.path.samefile('..\腾讯网.txt','E:\\腾讯网.txt')
Out[14]: True
二. 杂谈
1. 问:为什么要引入模块这种东西呢?直接放在内置函数里直接引用不是更方便吗?
答:借用一下海子大神的回答:为什么必须加上模块名这样调用呢?因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数。所以如果像上述这样引入模块的时候,调用函数必须加上模块名。
2.time.gmtim显示的时间是UTC时间,UTC时间为国际统一的通用协调时。北京为东八区,比UTC时间领先八个小时左右,所以比当前时间提前八个小时。
3.关于os.path.samefile()这个函数,需要注意一点,他不能够用来判断两个链接是否指向同一个文件。因为该函数只判断路径,而软链接并非实质上的路径,所以不可以被判断。
三. 部分作业分析
现在开始做下,有需要提及的部分会在帖子后面补充
四. 知识掌握程度
心得:学到了os模块中的一些函数,能够用函数对计算机进行一些简单的基础操作。
难点:对函数用法的理解,知道哪些函数可以用来做什么
重点:对相似函数的用法的区分。
|