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)

猜你喜欢

转载自www.cnblogs.com/balllyh/p/10394851.html