Python基础(12)——常用模块(一)

常用模块(一)——sys、os

1. sys模块

sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数。

常用函数及变量如下:

  1. sys.argv:获取当前正在执行的命令行参数的参数列表,参数通过空格符分割。

    import sys
    print(sys.argv)
    # 执行python demo.py test test1
    #======output=====
    ['demo.py', 'test', 'test1']
    
  2. sys.version:获取python解释程序版本信息

  3. sys.paltform:获取当前执行环境的平台。

  4. sys.path:获取python搜索模块的路径列表。

  5. sys.modules:返回已经加载到内存的模块,而并不是已经导入的模块。在程序import一个模块时,会先在这个字典中查找是否已经加载了此模块,如果已经加载了,则只将模块的名字加入程序的Local命名空间中,如果没有加载,则需要在sys.path目录中按照模块名称查找模块文件,找到后将其加载到内存中,并加入sys.modules中,并将名字导入到当前的Local命名空间中。

  6. sys.stdin、sys.stdout、sys.stderr:分别表示标准输入、标准输出、错误输出。

    • 标准输入,一般为键盘输入,stdin对象为解释器提供输入字符流。可以通过sys.stdin.readline()、sys.stdin.read()、sys.stdin.readlines()等来进行输入。在使用sys.stdin.readlines()读取数据的时候,如果要结束读取,要使用Ctrl+D+Enter来结束读取,在windows下要使用Ctrl+Z+Enter来结束读取,如果在Pycharm下运行,同样要使用Ctrl+D+Enter来结束读取。
    • 标准输出,一般为屏幕输出。可以通过sys.stdout.write()来输出,其中还有一个缓冲区刷新的方法sys.stdout.flush(),通过它可以将缓冲区内的数据全部写到终端上。
    • 错误输出,一般是错误信息,例如当抛出一个异常时,会通过sys.stderr输出。
  7. sys.exit(n):退出程序,正常退出时exit(0)。

  8. sys.executable:该属性返回Python解释器在磁盘上的存储路径。

  9. sys.getfilesystemencoding():返回当前系统中保存文件用的字符集。

  10. sys.maxsize:最大的int值。

  11. sys.getrecursionlimit():返回最大的递归层数。

  12. sys.setrecursionlimit(n):设置最大的递归层数。

  13. sys.getdefaultencoding():获取系统当前编码。

  14. sys.setdefaultencoding():设置系统默认编码。

使用sys模块模拟进度条

import sys
import time

def progress(percent, width=50):
    assert percent <= 100, "The parameter 'percent' cannot be greater than 100!"

    show_str = ('[%%-%ds]' % width) % (int(width * percent / 100) * "#")
    print("\r%s %d%%" % (show_str, percent), end='' if percent < 100 else '\n', file=sys.stdout, flush=True)

for i in range(100):
    progress(i+1)
    time.sleep(0.1)
# 代码中使用的嵌套的%,将其拆解开就可以知道其产生的原理。其中\r是回到整行的开头,这样使其一直在同一行显示了。

2. os模块

os模块代表了程序所在的操作系统,主要用于获取程序运行所在操作系统的相关信息。

常用的函数及变量如下:

  1. os.sep:获取操作系统的路径分隔符。

  2. os.name:获取当前执行代码的平台。

  3. os.linesep:获取当前平台的行终止符,Windows下使用\r\nLinux下使用\nMac中使用\r

  4. os.curdir:返回的是表示当前目录的符号,永远返回.os.pardir返回上级目录的符号,永远返回.

  5. os.getcwd():返回当前工作目录。

  6. os.getenv():获取指定的环境变量,如,os.getenv('path')

  7. os.putenv():设置环境变量。

  8. os.listdir():返回指定目录下所有文件和目录名。

  9. os.mkdir():创建一个目录,只能创建一个目录,不能创建多层。

  10. os.rmdir():删除一个空目录,如果目录不为空则不能删除。

  11. os.mkdirs():可以递归创建目录。如果目录全部存在,则创建失败,抛出异常。

  12. os.removedirs():可以删除多层递归的空目录,如果目录中有文件则无法删除。

  13. os.chdir():改变当前工作目录到指定的目录。

  14. os.renname():重命名目录名或者文件名。重命名后的文件名存在则重命名失效。

  15. os.remove():删除文件。

  16. os.stat():获取文件的属性。

  17. os.system():执行shell命令。

  18. os.exit():终止当前进程。

  19. os.path.sep:返回路径分隔符。

  20. os.path.curdiros.path.pardir:与os.cudiros.pardir相同。

  21. os.path.split():将一个路径拆分成目录名和文件名两部分。

  22. os.path.splitext():将一个路径拆分成文件名和扩展名,文件名中会包含路径。

  23. os.path.isdir():判断一个路径是否为目录,不存在则返回False

  24. os.path.isfile():判断一个路径是否为文件,不存在则返回False

  25. os.path.isabs():判断是否为绝对路径,只判断格式,不判断是否存在。

  26. os.path.exists():判断文件或目录是否存在。

  27. os.path.getsize():获取指定文件的大小,如果传入的是目录则返回0。

  28. os.path.getatime(), os.path.getmtime(), os.path.getctime():分别返回最近访问该文件的时间,最近修改文件的时间和文件的创建时间的时间戳。

  29. os.path.abspath():获取指定文件的绝对路径。

  30. os.path.basename():返回文件的文件名。

  31. os.path.dirname():返回文件的目录名。

  32. os.path.join():连接目录名和文件名或其他路径名。

  33. os.path.normpath():规范路径,将路径中的斜杠或反斜杠统一。

  34. os.walk():是一个目录遍历器,可以遍历一个目录下的所有文件和目录。可以按如下方式遍历。

    import os
    root_path = ''
    for (root, dirs, files) in os.walk(root_path):
        print(root, dirs, files)
    

如有错误欢迎批评指正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值