简介

os 模块提供了很多允许你的程序与操作系统直接交互的功能。
由于方法太多也不常用,用到了再去查,不用怎么记。

os模块

常用方法

  1. 得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd()
  2. 返回指定目录下的所有文件和目录名:os.listdir()
  3. 函数用来删除一个文件:os.remove()
  4. 删除多个目录:os.removedirsrc\python”)
  5. 检验给出的路径是否是一个文件:os.path.isfile()
  6. 检验给出的路径是否是一个目录:os.path.isdir()
  7. 判断是否是绝对路径:os.path.isabs()
  8. 检验给出的路径是否真地存:os.path.exists()
  9. 返回一个路径的目录名和文件名:os.path.split() e.g os.path.split('/home/swaroop/byte/code/poem.txt') 结果:('/home/swaroop/byte/code', 'poem.txt')
  10. 分离扩展名:os.path.splitext() e.g os.path.splitext('/usr/local/test.py') 结果:('/usr/local/test', '.py')
  11. 获取路径名:os.path.dirname()
  12. 获得绝对路径: os.path.abspath()
  13. 获取文件名:os.path.basename()
  14. 运行shell命令: os.system()
  15. 读取操作系统环境变量HOME的值:os.getenv("HOME")
  16. 返回操作系统所有的环境变量: os.environ
  17. 设置系统环境变量,仅程序运行时有效:os.environ.setdefault('HOME','/home/alex')
  18. 给出当前平台使用的行终止符:os.linesep Windows使用'\r\n'Linux and MAC使用'\n'
  19. 指示你正在使用的平台:os.name 对于Windows,它是'nt',而对于Linux/Unix用户,它是'posix'
  20. 重命名:os.renameold new
  21. 创建多级目录:os.makedirsrc\python\test”)
  22. 创建单个目录:os.mkdir(“test”)
  23. 获取文件属性:os.statfile
  24. 修改文件权限与时间戳:os.chmodfile
  25. 获取文件大小:os.path.getsizefilename
  26. 结合目录名与文件名:os.path.join(dir,filename)
  27. 改变工作目录到dirname: os.chdir(dirname)
  28. 获取当前终端的大小: os.get_terminal_size()
  29. 杀死进程: os.kill(10884,signal.SIGKILL)

实战

  1. import os
  2. # 1. 获取当前脚本绝对路径
  3. """
  4. abs_path = os.path.abspath(__file__)
  5. print(abs_path)
  6. """
  7. # 2. 获取当前文件的上级目录
  8. """
  9. base_path = os.path.dirname( os.path.dirname(路径) )
  10. print(base_path)
  11. """
  12. # 3. 路径拼接
  13. """
  14. p1 = os.path.join(base_path, 'xx')
  15. print(p1)
  16. p2 = os.path.join(base_path, 'xx', 'oo', 'a1.png')
  17. print(p2)
  18. """
  19. # 4. 判断路径是否存在
  20. """
  21. exists = os.path.exists(p1)
  22. print(exists)
  23. """
  24. # 5. 创建文件夹
  25. """
  26. os.makedirs(路径)
  27. """
  28. """
  29. path = os.path.join(base_path, 'xx', 'oo', 'uuuu')
  30. if not os.path.exists(path):
  31. os.makedirs(path)
  32. """
  33. # 6. 是否是文件夹
  34. """
  35. file_path = os.path.join(base_path, 'xx', 'oo', 'uuuu.png')
  36. is_dir = os.path.isdir(file_path)
  37. print(is_dir) # False
  38. folder_path = os.path.join(base_path, 'xx', 'oo', 'uuuu')
  39. is_dir = os.path.isdir(folder_path)
  40. print(is_dir) # True
  41. """
  42. # 7. 删除文件或文件夹
  43. """
  44. os.remove("文件路径")
  45. """
  46. """
  47. path = os.path.join(base_path, 'xx')
  48. shutil.rmtree(path)
  49. """

sys模块

  1. sys.argv 命令行参数List,第一个元素是程序本身路径
  2. sys.exit(n) 退出程序,正常退出时exit(0)
  3. sys.version 获取Python解释程序的版本信息
  4. sys.maxint 最大的Int
  5. sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
  6. sys.platform 返回操作系统平台名称
  7. sys.stdout.write('please:') #标准输出 , 引出进度条的例子, 注,在py3上不行,可以用print代替
  8. val = sys.stdin.readline()[:-1] #标准输入
  9. sys.getrecursionlimit() #获取最大递归层数
  10. sys.setrecursionlimit(1200) #设置最大递归层数
  11. sys.getdefaultencoding() #获取解释器默认编码
  12. sys.getfilesystemencoding #获取内存数据存到文件里的默认编码