Python内置的操作系统模块(os)与解释器交互模块(sys)
作者:尹正杰
版权声明:原创作品,谢绝转载!否则将追究法律责任。
本片博客只介绍Python调用操作系统的模块即os模块,以及Python和解释器打交道的模块即sys模块。
一.操作系统模块常用方法(os)
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ 5 #EMAIL:y1053419035@qq.com 6 import os 7 8 """ 9 os模块是与操作系统交互的一个接口。 10 """ 11 12 filepath = r"E:Codepycharm文件存放处python学习笔记" 13 14 print(os.getcwd()) # 获取当前工作目录,即当前python脚本工作的目录路径 15 16 print(os.chdir(filepath)) #改变当前脚本工作目录;相当于shell下cd,记住,这个是没有返回值的哟 17 18 print(os.curdir) #返回当前目录: ('.') 19 20 print(os.pardir) #获取当前目录的父目录字符串名:('..') 21 22 print(os.makedirs("E:Codepycharm文件存放处python学习笔记Day11")) #可生成多层递归目录(创建目录,类十余),生产完毕后返回一个None值 23 24 print(os.removedirs("E:Codepycharm文件存放处python学习笔记Day11")) #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推(和上面的相反,就是删除目录。) 25 26 print(os.mkdir("DAY11")) #生成单级目录;相当于shell中mkdir dirname,如果当前目录已经存在改目录就会报错 27 28 print(os.rmdir("DAY11")) #删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname,如果当前目录没有改目录就会报错! 29 30 print(os.listdir("E:Codepycharm文件存放处python学习笔记")) #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印 31 32 33 # os.remove("yinzhengjie.txt") #删除一个文件 34 35 # os.rename("yinzhengjie.txt","yzj.txt") #重命名文件/目录 36 37 print(os.stat('E:Codepycharm文件存放处python学习笔记') ) #获取文件/目录信息 38 39 print(os.sep) #输出操作系统特定的路径分隔符,win下为"\",Linux下为"/" 40 41 print(os.linesep) #输出当前平台使用的行终止符,win下为" ",Linux下为" " 42 43 print(os.pathsep) #输出用于分割文件路径的字符串 44 45 print(os.name) #输出字符串指示当前使用平台。win->'nt'; Linux->'posix' 46 47 # print(os.system("dir")) #运行shell或者windows命令,直接显示命令的输出结果,可以将这个数据存放在一个变量中哟 48 49 print(os.path.abspath("yinzhengjie.txt")) #返回path规范化的绝对路径 50 51 print(os.path.split(r"E:Codepycharm文件存放处python学习笔记")) #将path分割成目录和文件名二元组返回 52 53 print(os.path.dirname(r"E:Codepycharm文件存放处python学习笔记Day9yinzhengjie.txt")) #返回path的目录。其实就是os.path.split(path)的第一个元素 54 55 print(os.path.basename(r"E:Codepycharm文件存放处python学习笔记Day9yinzhengjie.txt")) #返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素 56 57 print(os.path.exists(r"E:Codepycharm文件存放处python学习笔记")) #如果path存在,返回True;如果path不存在,返回False 58 59 print(os.path.isabs(r"D:pythondaimaDAY1user_info.txt")) #如果path是绝对路径,返回True 60 61 print(os.path.isfile(r"D:pythondaimaDAY1user_info.txt")) #如果path是一个存在的文件,返回True。否则返回False 62 63 print(os.path.isdir(r"E:Codepycharm文件存放处python学习笔记")) #如果path是一个存在的目录,则返回True。否则返回False 64 65 print(os.path.join(r"E:Codepycharm文件存放处python学习笔记",r"Day9")) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略 66 67 print(os.path.getatime(r"E:Codepycharm文件存放处python学习笔记Day10")) #返回path所指向的文件或者目录的最后存取时间 68 69 print(os.path.getmtime(r"E:Codepycharm文件存放处python学习笔记Day9")) #返回path所指向的文件或者目录的最后修改时间 70 71 ''' 72 更多关于os模块的使用方法请参考:https://docs.python.org/2/library/os.html?highlight=os#module-os 73 ''' 74 75 76 77 78 79 #以上代码执行结果如下: 80 E:Codepycharm文件存放处python学习笔记Day9 81 None 82 . 83 .. 84 None 85 None 86 None 87 None 88 ['.idea', 'DAY1', 'Day10', 'DAY18', 'DAY2', 'DAY3', 'DAY4', 'DAY5', 'DAY6', 'DAY7', 'DAY8', 'Day9'] 89 os.stat_result(st_mode=16895, st_ino=562949953671936, st_dev=4210844879, st_nlink=1, st_uid=0, st_gid=0, st_size=4096, st_atime=1520433760, st_mtime=1520433760, st_ctime=1518275451) 90 91 92 93 ; 94 nt 95 E:Codepycharm文件存放处python学习笔记yinzhengjie.txt 96 ('E:\Code\pycharm\文件存放处', 'python学习笔记') 97 E:Codepycharm文件存放处python学习笔记Day9 98 yinzhengjie.txt 99 True 100 True 101 False 102 True 103 E:Codepycharm文件存放处python学习笔记Day9 104 1520433678.5179508 105 1520433643.7018182
二.与Python解释器打交道的模块(sys)
1 #!/usr/bin/env python 2 #_*_coding:utf-8_*_ 3 #@author :yinzhengjie 4 #blog:http://www.cnblogs.com/yinzhengjie/tag/python%E8%87%AA%E5%8A%A8%E5%8C%96%E8%BF%90%E7%BB%B4%E4%B9%8B%E8%B7%AF/ 5 #EMAIL:y1053419035@qq.com 6 7 import sys 8 9 """ 10 sys模块是和Python解释器打交道的模块。 11 """ 12 13 14 print(sys.version) #获取Python解释程序的版本信息 15 16 print(sys.platform) #返回操作系统平台名称 17 18 print(sys.path) #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值 19 20 # print(sys.exit(100)) #退出程序,正常退出时exit(0),如果不写数字的话,默认就是0 21 22 print(sys.argv[0]) #命令行参数List,第一个元素是程序本身路径 23 24 print(sys.maxsize) #显示当前系统最大的Int值 25 26 ''' 27 更多使用方法请参考:https://docs.python.org/2/library/sys.html?highlight=sys#module-sys 28 ''' 29 30 31 32 33 #以上代码执行结果如下: 34 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] 35 win32 36 ['E:\Code\pycharm\文件存放处\python学习笔记\Day11', 'E:\Code\pycharm\文件存放处\python学习笔记', 'E:\Code\pycharm\python\python3.6\python36.zip', 'E:\Code\pycharm\python\python3.6\DLLs', 'E:\Code\pycharm\python\python3.6\lib', 'E:\Code\pycharm\python\python3.6', 'C:\Users\Administrator\AppData\Roaming\Python\Python36\site-packages', 'E:\Code\pycharm\python\python3.6\lib\site-packages'] 37 E:/Code/pycharm/文件存放处/python学习笔记/Day11/1.sys模块.py 38 2147483647