python之os和sys模块的区别

Posted Balllyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python之os和sys模块的区别相关的知识,希望对你有一定的参考价值。

一、os模块

os模块是Python标准库中提供的与操作系统交互的模块,提供了访问操作系统底层的接口,里面有很多操作系统的函数

1、os常用方法

import os
# print(os.getcwd())#获取当前目录
print(os.chdir(r"D:\\program\\python\\code\\LYH_python\\Day5"))#切换进入到哪个目录下
os.rename(\'users.xls\',\'pass.xls\')#os.rename(old,new)将old文件重命名为new
os.remove(\'pass.xls\')#删除文件
os.mkdir(\'dis\')#创建单级空文件夹,目录
os.rmdir(\'dis/b\')#删除单级空目录
os.makedirs(\'dis/b\')#创建多层递归目录
os.removedirs(\'dis\')#只能删除空的文件夹
print(os.listdir(\'dis\'))#列出指定目录下的所有文件及文件夹,包括隐藏文件,并返回一个list
os.system(\'ipconfig\')#可以直接操作系统命令,os.system(command)
res=os.popen(\'ipconfig\').read()#执行操作系统命令
print(res)

2、os.path方法

os.path模块主要用于文件属性的获取。

 

print(os.path.dirname(\'D:/program/python/code/LYH_python/Day6/dis/username.xls\'))#返回path的目录,取父目录
print(os.path.split(\'D:/program/python/code/LYH_python/Day6/dis/username.xls\'))#将path分割成目录和文件名,并返回一个元组
print(os.path.join(\'program\',\'python\',\'code\',\'student.py\'))#将多个路径拼起来
print(os.path.exists(\'D:/program/python/code/LYH_python/Day6/dis/gg.xls\'))#判断path(文件或文件夹)是否存在
print(os.path.isfile(\'D:/program/python/code/LYH_python/Day6/dis/username.xls\'))#判断path是否是文件,True
print(os.path.isdir(\'D:/program/python/code/LYH_python/Day6/dis/username.xls\'))#判断path是否是目录,False

 

二、sys模块

sys模块负责程序与Python解释器的交互。

print(sys.path)#获取python环境变量的值,并返回一个list
sys.argv #命令行参数List,第一个元素是程序本身路径
sys.modules.keys() #返回所有已经导入的模块列表
sys.modules #返回系统导入的模块字段,key是模块名,value是模块
sys.exc_info() #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
sys.exit(n) #退出程序,正常退出时exit(0)
sys.hexversion #获取Python解释程序的版本值,16进制格式如:0x020403F0
sys.version #获取Python解释程序的版本信息
sys.platform #返回操作系统平台名称
sys.maxint # 最大的Int值
sys.stdout #标准输出
sys.stdout.write(\'aaa\') #标准输出内容
sys.stdout.writelines() #无换行输出
sys.stdin #标准输入
sys.stdin.read() #输入一行
sys.stderr #错误输出
sys.exc_clear() #用来清除当前线程所出现的当前的或最近的错误信息
sys.exec_prefix #返回平台独立的python文件安装的位置
sys.byteorder #本地字节规则的指示器,big-endian平台的值是\'big\',little-endian平台的值是\'little\'
sys.copyright #记录python版权相关的东西
sys.api_version #解释器的C的API版本
sys.version_info #\'final\'表示最终,也有\'candidate\'表示候选,表示版本级别,是否有后继的发行
sys.getdefaultencoding() #返回当前你所用的默认的字符编码格式
sys.getfilesystemencoding() #返回将Unicode文件名转换成系统文件名的编码的名字
sys.builtin_module_names #Python解释器导入的内建模块列表
sys.executable #Python解释程序路径
sys.getwindowsversion() #获取Windows的版本
sys.stdin.readline() #从标准输入读一行,sys.stdout.write(a) 屏幕输出a
sys.setdefaultencoding(name) #用来设置当前默认的字符编码(详细使用参考文档)
sys.displayhook(value) #如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)

三、代码案例

首先,获取目录下的所有文件,python中的os模块提供了方法,os.walk(),返回三种信息的生成器,这三种信息有path(目录的路径),dirs(目录),files(目录下的文件)。

for cur_path,dirs,files in res:
    print(cur_path)
    print(dirs)#返回的是list
    print(files)#返回的是list

打印结果如下:

res=os.walk(\'D:\\program\\python\\code\\LYH_python\\Day6\')
count=0
for cur_path,dirs,files in res:
    for f in files:#files返回的是一个list,循环遍历这个list
        if f.endswith(\'.py\'):
            count+=1
print(count)

 

以上是关于python之os和sys模块的区别的主要内容,如果未能解决你的问题,请参考以下文章

Python中sys和os模块的区别

python 常用模块之random,os,sys 模块

Python中os与sys两模块的区别

python常用模块之os和sys模块

python中os模块与sys模块的区别

Python中os与sys模块的区别