鱼C论坛

 找回密码
 立即注册
查看: 2295|回复: 1

[技术交流] 《零基础入门学习Python》030文件系统:介绍一个高大上的东西

[复制链接]
发表于 2017-8-5 11:19:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

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的路径,自动添加\\。如果最后字符为:,则该部分不加\\。
  1. #举例子
  2. >>> import os
  3. >>> os.path.join('a','b','c')
  4. 'a\\b\\c'
  5. >>> os.path.join('a:','b','c')
  6. 'a:b\\c'
复制代码
(2)        os.path.split(path):用来分割文件名和路径名。
  1. #举例子
  2. >>> import os
  3. >>> os.path.split('C:\\Game\\star.avi')
  4. ('C:\\Game', 'star.avi')
复制代码
os.path.splitext(path):用来分割文件名和文件类型。
  1. #举例子
  2. >>> os.path.splitext('C:\\Game\\star.avi')
  3. ('C:\\Game\\star', '.avi')
复制代码
(3)        os.path.getatime(file):返回文件的最近访问时间
os.path.getctime(file):返回文件的创建时间
os.path.getmtime(file):返回文件最近修改时间
以上三个函数表现形式皆为浮点型秒数,需要用time模块的gmtime()或localtime()函数换算)
  1. #举例子
  2. >>> os.path.getctime('C:\\Users\\徐鑫\\Desktop\\A')
  3. 1501896975.851228
  4. >>> os.mkdir('C:\\Users\\徐鑫\\Desktop\\A')
  5. >>> import time
  6. >>> time.gmtime(os.path.getctime('C:\\Users\\徐鑫\\Desktop\\A'))
  7. 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)
  8. >>> time.localtime(os.path.getctime('C:\\Users\\徐鑫\\Desktop\\A'))
  9. 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兄弟的代码举一下例子。
  1. #举例子
  2. In [13]: os.getcwd()
  3. Out[13]: 'e:\\python'
  4. In [14]: os.path.samefile('..\腾讯网.txt','E:\\腾讯网.txt')
  5. Out[14]: True
复制代码

二.        杂谈

1.        问:为什么要引入模块这种东西呢?直接放在内置函数里直接引用不是更方便吗?
答:借用一下海子大神的回答:为什么必须加上模块名这样调用呢?因为可能存在这样一种情况:在多个模块中含有相同名称的函数,此时如果只是通过函数名来调用,解释器无法知道到底要调用哪个函数。所以如果像上述这样引入模块的时候,调用函数必须加上模块名。

2.time.gmtim显示的时间是UTC时间,UTC时间为国际统一的通用协调时。北京为东八区,比UTC时间领先八个小时左右,所以比当前时间提前八个小时。

3.关于os.path.samefile()这个函数,需要注意一点,他不能够用来判断两个链接是否指向同一个文件。因为该函数只判断路径,而软链接并非实质上的路径,所以不可以被判断。

三.        部分作业分析
现在开始做下,有需要提及的部分会在帖子后面补充

四.        知识掌握程度

心得:学到了os模块中的一些函数,能够用函数对计算机进行一些简单的基础操作。

难点:对函数用法的理解,知道哪些函数可以用来做什么

重点:对相似函数的用法的区分。
查询函数.JPG
os.path模块常用函数使用方法.JPG
os模块常用函数使用方法.JPG

评分

参与人数 1鱼币 +4 收起 理由
小甲鱼 + 4

查看全部评分

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-10-26 08:10:27 | 显示全部楼层
永远不放弃
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-3-29 00:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表