os模块就是对操作系统进行操作,使用该模块必须先导入模块:
查看环境变量、操作系统名及Home、及系统环境变量
import os
print('path环境变量:',os.environ)
print('操作系统名:',os.environ['os'])
print('HOME:',os.environ)
测试结果如下图所示:
查看home路径
print('HOME路径:',os.path.expanduser('~'))
测试结果如下图所示:
列出用户目录的文件列表
#列表
print(os.listdir())
#列出用户目录的文件列表
print(os.listdir(os.path.expanduser('~')))
for d in os.listdir(os.path.expanduser('~')):
print(d)
测试结果如下图所示:
打印当前路径、创建文件夹及打印文件列表
print(os.getcwd())
os.mkdir('a')
os.listdir()
#移除文件夹
#os.rmdir('zy')
测试结果如下图所示:
文件夹列表
os.listdir()
测试结果如下图所示:
os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。
该方法是一个简单易用的文件、目录遍历器,可以帮助我们高效的处理文件、目录方面的事情。
for root, dirs, files in os.walk(".", topdown=False):
for name in files:
print(os.path.join(root, name))
for name in dirs:
print(os.path.join(root, name))
测试结果如下图所示:
打印出用户路径、用户名、及路径的切分等等
print(os.path.expanduser('~'))
print(os.path.basename(os.path.expanduser('~')))
print(os.path.dirname(os.path.expanduser('~')))
print(os.path.splitext(os.path.expanduser('~')))
print(os.path.splitext('b.txt'))
print(os.path.split('C:\\Users\\Public'))
测试结果如下图所示:
测试文件大小
#dir效果模拟
import time
from time import strftime
def getSizeInString(filesize):
result=''
if filesize//1024//1024//1024//1024>0:
result=str(filesize//1024//1024//1024//1024)+'T'
elif filesize//1024//1024//1024>0:
result=str(filesize//1024//1024//1024)+'G'
elif filesize//1024//1024>0:
result=str(filesize//1024//1024)+'M'
else:
result=str(filesize)+'b'
return result
getSizeInString(1024*1024+2) #测试方法
测试结果如下图所示:
输出文件的目录列表及文件、目录的总数
filecount=0
dircount=0
for item in os.listdir():
fileATime=os.path.getatime( item )
timeString=strftime("%Y-%m-%d %H:%M:%S",time.localtime(fileATime))+'\t'
filetypestr='\t'
filesizestring='\t'
if os.path.isdir(item)==True:
filetypestr='<DIR>\t'
dircount+=1
else:
filecount+=1
filesize=os.path.getsize(item)
filesizestring=getSizeInString(filesize)+'\t'
print(timeString,filetypestr,filesizestring,os.path.basename(item))
print('文件数:',str(filecount),'目录数:',str(dircount))
测试结果如下图所示: