鱼C论坛

 找回密码
 立即注册
查看: 2993|回复: 0

[学习笔记] 030文件系统:介绍一个高大上的东西

[复制链接]
发表于 2017-7-5 21:40:43 | 显示全部楼层 |阅读模式

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

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

x
1.模块的概念
模块是一个包含所有你定义的函数和变量的文件,其后缀名是py。
模块可以被别的程序引入,以使用该模块中的函数等功能。
模块函数的使用需要在前面加上模块名和成员操作符。
  1. >>> import random                      #引入random模块
  2. >>> secret = random.randint(1, 10)     #随机输出1-9的整数数字
  3. >>> secret
  4. 5
复制代码

2.OS模块
OS:Operating System 操作系统
常用的操作系统就有:Windows,Mac OS,Linux,UNIX等,这些操作系统底层对于文件系统的访问工作原理是不一样的,因此你可能就要针对不同的系统来考虑使用哪些文件系统模块。。。。。。这样的做法是非常不友好且麻烦,因为这样就意味着当你的程序运行环境一改变,你就要相应的去修改大量的代码来应付。
有了OS模块,我们不需要关心什么操作系统下使用什么模块,OS模块会帮你选择正确的模块并调用。
  1. >>> import os
  2. >>> os.getcwd()               #返回当前工作目录
  3. 'C:\\Users\\Administrator\\AppData\\Local\\Programs\\Python\\Python36-32'
  4. >>> os.chdir('E:\\')          #改变工作目录
  5. >>> os.getcwd()
  6. 'E:\\'
  7. >>> os.listdir('E:\\')        #列举指定目录中的文件名
  8. [ '1机械传动设计手册(上、下册)', '4-常用计算软件.zip', 'Aspen', 'AutoCAD Plant 3D', 'Autodesk Inventor', 'C++ Primer Plus 第6版 中文版', 'C语言学习视频', 'HYSYS', 'MRS New PB With Extra Land.dwg', 'NX_8.0.0.25_Win32', 'PCCAD', 'PDMS', 'SolidWorks', 'System Volume Information', '书籍', '图片',  '机器人工程师学习计划.doc', '资料',]
  9. >>> os.mkdir('E:\\A')         #创建单层目录
  10. >>> os.mkdir('E:\\A\\B')
  11. >>> os.mkdir('E:\\C\\B')      #创建单层目录,无法创建多层目录
  12. Traceback (most recent call last):
  13.   File "<pyshell#11>", line 1, in <module>
  14.     os.mkdir('E:\\C\\B')
  15. FileNotFoundError: [WinError 3] 系统找不到指定的路径。: 'E:\\C\\B'
  16. >>> os.rmdir('E:\\A\\B')      #删除单层目录,若目录非空则抛出异常
  17. Traceback (most recent call last):
  18.   File "<pyshell#14>", line 1, in <module>
  19.     os.rmdir('E:\\A\\B')
  20. OSError: [WinError 145] 目录不是空的。: 'E:\\A\\B'
  21. >>> os.remove('E:\\A\\B\\test.txt')  #删除文件
  22. >>> os.rmdir('E:\\A\\B')             #删除单层目录,删除成功
  23. >>> os.system('cmd')                 #运行系统的cmd命令
  24. -1073741510
  25. >>> os.system('calc')                #运行系统的计算器命令
  26. 0
  27. >>> os.curdir                        #指代当前目录(‘.’)
  28. '.'
  29. >>> os.listdir(os.curdir)
  30. [ '1机械传动设计手册(上、下册)', '4-常用计算软件.zip', 'Aspen', 'AutoCAD Plant 3D', 'Autodesk Inventor', 'C++ Primer Plus 第6版 中文版', 'C语言学习视频', 'HYSYS', 'MRS New PB With Extra Land.dwg', 'NX_8.0.0.25_Win32', 'PCCAD', 'PDMS', 'SolidWorks', 'System Volume Information', '书籍', '图片',  '机器人工程师学习计划.doc', '资料',]
复制代码

3.OS.path模块
  1. >>> os.path.basename('E:\\A\\B\\C\\sexy.avi')  #去掉目录路径,单独返回文件名
  2. 'sexy.avi'
  3. >>> os.path.dirname('E:\\A\\B\\C\\sexy.avi')   #去掉文件名,单独返回目录路径
  4. 'E:\\A\\B\\C'
  5. >>> os.path.join('A', 'B', 'C')        #将各部分组合成一个路径名
  6. 'A\\B\\C'
  7. >>> os.path.split('E:\\A\\SEXY.AVI')#分割文件名与路径,返回(f_path,f_name)元组
  8. ('E:\\A', 'SEXY.AVI')
  9. >>> os.path.split('E:\\A\\B\\C') #完全使用目录分割,将最后一个目录作为文件名分离,不会判断文件或目录是否存在
  10. ('E:\\A\\B', 'C')
  11. >>> os.path.splitext('E:\\A\\SEXY.AVI')  #分离文件名与扩展名,返回(f_name,f_eztension)元组
  12. ('E:\\A\\SEXY', '.AVI')
  13. >>> os.path.getatime('E:\\A\\test.txt')
  14. 1499261490.5975766
  15. >>> import time
  16. >>> time.gmtime(os.path.getatime('E:\\A\\test.txt'))#返回指定文件最近的访问时间
  17. time.struct_time(tm_year=2017, tm_mon=7, tm_mday=5, tm_hour=13, tm_min=31, tm_sec=30, tm_wday=2, tm_yday=186, tm_isdst=0)
  18. >>> time.localtime(os.path.getatime('E:\\A\\test.txt'))#返回指定文件最近的访问时间
  19. time.struct_time(tm_year=2017, tm_mon=7, tm_mday=5, tm_hour=21, tm_min=31, tm_sec=30, tm_wday=2, tm_yday=186, tm_isdst=0)
  20. >>> time.localtime(os.path.getmtime('E:\\A\\test.txt'))#返回指定文件最新的修改时间
  21. time.struct_time(tm_year=2017, tm_mon=7, tm_mday=5, tm_hour=21, tm_min=37, tm_sec=16, tm_wday=2, tm_yday=186, tm_isdst=0)
  22. >>> time.localtime(os.path.getctime('E:\\A\\test.txt'))#返回指定文件的创建时间
  23. time.struct_time(tm_year=2017, tm_mon=7, tm_mday=5, tm_hour=21, tm_min=31, tm_sec=30, tm_wday=2, tm_yday=186, tm_isdst=0)
  24. >>> os.path.ismount('E:\\')    #判断指定路径是否存在且是一个挂载点
  25. True
  26. >>> os.path.ismount('E:\\A')
  27. False
复制代码

评分

参与人数 2鱼币 +5 收起 理由
小甲鱼 + 3
小树 + 2 热爱鱼C^_^

查看全部评分

本帖被以下淘专辑推荐:

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 01:35

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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