千家信息网

python中的sys模块和os模块怎么用

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下python中的sys模块和os模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,
千家信息网最后更新 2026年11月03日python中的sys模块和os模块怎么用

今天小编给大家分享一下python中的sys模块和os模块怎么用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

1.sys模块

sys模块的常见函数列表:

  • sys.argv: 实现从程序外部向程序传递参数。

  • sys.exit([arg]): 程序中间的退出,arg=0为正常退出。

  • sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。

  • sys.setdefaultencoding(): 设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。(见设置系统默认编码 )

  • sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.

  • sys.path: 获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。

  • sys.platform: 获取当前系统平台。

  • sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们

import sys# 获取一个值的应用计数a = [11,22,33]b = aprint(sys.getrefcount(a))# python默认支持的递归数量v1 = sys.getrecursionlimit()print(v1)#输入输出(两个不会换行)sys.stdout.write("你好")sys.stdout.write("啊")
import sys# 获取脚本路径print(sys.argv)
import sys# 循环输出python,可以导入模块的路径for i in sys.path:    print(i)
import sys# 添加新的模块导入路径sys.path.append('D:\\')# 在D:\\路径下有一个qqq.py文件,可以导入使用了import qqq

注意:模块传参数(让用户执行脚本传入要删除的文件路径,在内部帮助用户将目录删除。)

import sysimport shutil# 获取用户执行脚本时,传入的参数path = sys.argv[1]# 删除路径目录shutil.rmtree(path)

执行过程:后面添加要删除的目录路径

print补充:

# \n 换行# \t 制表符# \r 回到当前行的起始位置print('123\r',end = '')# 打印完123,光标回到起始位置,又写下面的456print('456',end = '')

应用(进度条的百分比数值增长)

import  time# 应用:在cmd中运行for i in range(1,101):    msg = "%s%%\r" %i    print(msg,end = '')    time.sleep(0.05)

2.os模块(和操作系统相关数据)

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,这时就离不了os模块

import os# 获取文件大小(字节)file_size= os.stat('123.gif').st_sizeprint(file_size)
import os# 判断路径是否存在,如果存在返回True,否则返回Falseqqq = os.path.exists('D:11231')print(qqq)
import osqqq = '123.gif'# 传递一个相对路径可以获取绝对路径v1 = os.path.abspath(qqq)print(v1)
import osqqq = r'E:\PyCharm\lol\123.gif'# 可以获取路径的上一级目录v = os.path.dirname(qqq)print(v)
import osqqq = 'E:\PyCharm\lol'www = '123.txt'# 路径拼接result = os.path.join(qqq,www)result1 = os.path.join(qqq,'456.txt')print(result)print(result1)
import os# 显示路径下的全部的文件(一层)qqq = os.listdir(r'E:\PyCharm\lol\move1')print(qqq)
import osqqq = os.walk(r'E:\PyCharm\lol')for a,b,c in qqq:    # a:真正查看的目录 b:此目录下的文件夹 c:此目录下的文件    print(a,b,c)---------------------------------------------------import os# 显示路径下的全部的文件(所有层)qqq = os.walk(r'E:\PyCharm\lol')for a,b,c in qqq:    for i in c:        path = os.path.join(a,i)        print(path)

生成文件夹:

import os# 在脚本路径下创建名字为"wdc"的文件夹os.mkdir('wdc')
import os# 创建嵌套文件夹os.makedirs(r'yhf\wdc\www')
import osfile_path = r'wdc\yhf\www.txt'# 获取路径目录file_folder = os.path.dirname(file_path)# 判断路径是否存在if not os.path.exists(file_folder):    # 如果不存,则创建路径    os.makedirs(file_folder)else:    # 如果路径存在则给出提示    print('目录以及存在!')

重命名:

import os# 文件夹重命名(原名,新名)os.rename('wdc','qqq')

补充:转义

# 前面加一个'r'起到转义的作用,防止\n换行qqq = r'E:\PyCharm\lol\n123.gif'print(qqq)# 双斜杠也可以起的转义的作用qqq = 'E:\\PyCharm\\lol\\n123.gif'print(qqq)

补充:进度条读写文件

import osimport time# 获取文件大小(字节)file_size= os.stat('123.gif').st_sizeprint(file_size)# 一点一点读取文件read_size = 0with open('123.gif',mode = 'rb') as f1,open('a.png',mode = 'wb') as f2:    while read_size < file_size:        chunk = f1.read(2) #每次读8个字节        f2.write(chunk)        read_size = read_size + len(chunk)        val = int(read_size / file_size * 100)     # \r:下一次打印覆盖上一次打印的内容        print('%s%%\r' %(val), end = '')        time.sleep(0.01)

以上就是"python中的sys模块和os模块怎么用"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

路径 文件 模块 目录 系统 文件夹 编码 知识 程序 篇文章 脚本 输出 不同 操作系统 内容 参数 字节 平台 用户 转义 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 互联网科技公司排名 百单网互联网科技有限公司怎么样 互联网科技巨头监管 科技创新互联网企业 联恩商钥互联网科技有限公司 深圳卡尔迅互联网科技有限公司怎么样 华中科技有哪些互联网大佬 中国科技互联网公司收入 温州喔噻互联网科技有限公司 互联网教育科技公司vipkid 以后互联网后是啥科技 广州恒生互联网科技有限 互联网金融中的现代科技 畅思互联网科技 迪庆互联网科技招生 西安小鹰速贷互联网科技有限公司 工业互联网展湾科技股份有限公司 互联网领先科技活动 六子台科技互联网展会 科技互联网产品 互联网金融监管科技 甘肃拓世互联网科技有限公司 蓝色互联网科技 互联网科技中介 现代互联网科技股 允成互联网科技有限公司融资 上海同邻互联网科技有限公司规模 易租星互联网科技有限公司 恒生科技指数 中概互联网
0