一次作业-----针对os的各种用法
os的各种用法如下:
os—提供程序与操作系统直接操作的各个功能
os.getcwd()------得到当前工作文件夹
os.listdir()--------返回当前文件夹下所有文件和目录名
os.path.splitext()-----分离并返回一个文件的目录名和扩展名
这篇程序中我们用到了字典,字典的特征就是拥有关键字和键值,程序中文件的扩展名就是关键字,键值就是拥有的个数。
import os#适应python
file_type = dict() #创建一个空的字典,用来存储我们的结果
#os.chdir(r'F:\\python_code ') #更改当前工作目录,其实不用更改,一直是这个路径
# current_work_dir = os.curdir: 指代当前目录,在windows系统下是'.'
current_work_dir = os.getcwd() #当前工作目录
all_file = os.listdir(current_work_dir) #用列表列举当前目录中的文件名
#print(all_file )
for each_file in all_file: #依次提取这个列表中的每一个元素(路径)
if os.path.isdir(each_file) == True: #判断这个路径是否表示文件夹,如果这是文件夹,就==True,如果不是文件夹就跳到else
file_type.setdefault('文件夹',0) #返回字典中键对应的值,但如果键不存在于字典中,将会添加键并将值设为default
file_type['文件夹'] += 1
else: # 如果不是文件夹,即是有后缀的那些文件
ext = os.path.splitext(each_file)[1] #分离文件名与扩展名,返回元组(f_name, f_extension)[1]这里的意思是元组中第二个名字即扩展名
file_type.setdefault(ext, 0) #将这个拓展名放置在字典中
file_type[ext] +=1#如果没有这个扩展名就添加,如果有这个扩展名就+1
#下面我们来打印结果
for type_file in file_type:
print('该文件夹下共有类型为【%s】的文件【%d】个'%(type_file,file_type[type_file]))
通过导入os模块,使python可以操作系统,当前的工作目录就是F:\python_code,用os.listdir把文件夹中的文件列举出来,通过for in 遍历每个文件,判断每个文件是不是文件夹,如果为真,如果文件中没有"文件夹"就把"文件夹":"个数”保存起来,如果有的话就直接在当前基础上+1,如果不是文件夹的话,先把文件名与扩展名分开,同时把扩展名放置在字典中,如果字典中有这个扩展名就直接+1,如果没有就直接添加关键字,直到遍历结束
最后打印出文件类型以及个数。