Python内置的操作系统模块(os)与解释器交互模块(sys)

          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:\Code\pycharm\文件存放处\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:\Code\pycharm\文件存放处\python学习笔记\Day11"))   #可生成多层递归目录(创建目录,类十余),生产完毕后返回一个None值
 23 
 24 print(os.removedirs("E:\Code\pycharm\文件存放处\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:\Code\pycharm\文件存放处\python学习笔记"))           #列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
 31 
 32 
 33 # os.remove("yinzhengjie.txt")                                                #删除一个文件
 34 
 35 # os.rename("yinzhengjie.txt","yzj.txt")                                       #重命名文件/目录
 36 
 37 print(os.stat('E:\Code\pycharm\文件存放处\python学习笔记') )            #获取文件/目录信息
 38 
 39 print(os.sep)                                                                #输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
 40 
 41 print(os.linesep)                                                           #输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
 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:\Code\pycharm\文件存放处\python学习笔记"))      #将path分割成目录和文件名二元组返回
 52 
 53 print(os.path.dirname(r"E:\Code\pycharm\文件存放处\python学习笔记\Day9\yinzhengjie.txt"))   #返回path的目录。其实就是os.path.split(path)的第一个元素
 54 
 55 print(os.path.basename(r"E:\Code\pycharm\文件存放处\python学习笔记\Day9\yinzhengjie.txt"))     #返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
 56 
 57 print(os.path.exists(r"E:\Code\pycharm\文件存放处\python学习笔记"))                            #如果path存在,返回True;如果path不存在,返回False
 58 
 59 print(os.path.isabs(r"D:\python\daima\DAY1\user_info.txt"))                                       #如果path是绝对路径,返回True
 60 
 61 print(os.path.isfile(r"D:\python\daima\DAY1\user_info.txt"))                                     #如果path是一个存在的文件,返回True。否则返回False
 62 
 63 print(os.path.isdir(r"E:\Code\pycharm\文件存放处\python学习笔记"))                               #如果path是一个存在的目录,则返回True。否则返回False
 64 
 65 print(os.path.join(r"E:\Code\pycharm\文件存放处\python学习笔记",r"Day9"))                   #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
 66 
 67 print(os.path.getatime(r"E:\Code\pycharm\文件存放处\python学习笔记\Day10"))                  #返回path所指向的文件或者目录的最后存取时间
 68 
 69 print(os.path.getmtime(r"E:\Code\pycharm\文件存放处\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:\Code\pycharm\文件存放处\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:\Code\pycharm\文件存放处\python学习笔记\yinzhengjie.txt
 96 ('E:\\Code\\pycharm\\文件存放处', 'python学习笔记')
 97 E:\Code\pycharm\文件存放处\python学习笔记\Day9
 98 yinzhengjie.txt
 99 True
100 True
101 False
102 True
103 E:\Code\pycharm\文件存放处\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

 

posted @ 2018-03-07 22:43  尹正杰  阅读(1077)  评论(0编辑  收藏  举报