1.OS模块:operation system操作系统
os模块使用方法:
os.path.basename('e:\\camera12\\a.jpg')
'a.jpg'
os.path.join('C:\\','A','B','C')
'C:\\A\\B\\C'
os.path.split('c:\\camera\\a.jpg')
('c:\\camera', 'a.jpg')
os.path.splitext('a.tif')
('a', '.tif')
3.pickle模块
import pickle
malist=['123','other']
pickle_file=open('mylist.pkl','wb')#写入二进制
pickle.dump(malist,pickle_file)#把列表保存在文件中
读取:
pickle_file=open('mylist.pkl','rb')#读取二进制
malist2=pickle.load(pickle_file)
print(malist2)
['123', 'other']
30讲习题及答案
0.编写一个程序,统计当前目录下每个文件类型的文件数:
import os
import os.path
count_txt=0
count_tif=0
count_else=0
path1=os.getcwd()#获取当前路径
print(path1)
file_list=os.listdir(path1)#将文件夹中的文件名生成列表
for each in file_list:
file_tuple=os.path.splitext(each)#将文件名字与格式分开
if file_tuple[1]=='.txt':
count_txt+=1
else:
if file_tuple[1]=='.tif':
count_tif+=1
else:
count_else+=1
print('txt格式有%d个'%count_txt)
print('tif格式有%d个',count_tif)
print('其他格式有%d个',count_else)
1.编写一个程序,计算当前文件夹下所有文件的大小
import os
import os.path
path1=os.getcwd()#获取当前路径
file_list=os.listdir(path1)#将文件夹中的文件名生成列表
for each in file_list:
size=os.path.getsize(each)#getsize(file)获取文件字节
print(each+'【'+str(size)+'】')
2.编写一个程序,用户输入文件名以及开始搜索的路径,搜索改文件是否存在,如遇到文件夹,则进入文件夹继续搜索,
import os
import os.path
def search_file(path_name,filename):
os.chdir(path_name)#修改路径到top路径下
for each_file in os.listdir(os.curdir):#将top路径下的文件生成列表
if each_file==filename:#判断是否为目标文件
print(os.getcwd()+os.sep+each_file)#如果是输出路径
if os.path.isdir(each_file):#判断该文件是不是文件夹/目录
search_file(each_file,filename)#进入到该文件夹下
os.chdir(os.pardir)#若没有则返回上一层菜单
path_name=input('请输入top文件夹:')
filename=input('请输入要搜索的文件名字:')
search_file(path_name,filename)
3.编写一个程序,用户输入开始搜索的路径,查找该路径下所有的视频格式文件(.mp4,.rmvb,.avi的格式即可),并创建一个txt文件存放所有找到的路径。
import os
import os.path
file1=open('path.txt','a')#创建一个文件保存路径
def search_save(path_name):
os.chdir(path_name)
for each_file in os.listdir(os.curdir):#判断一个文件是不是文件夹
if os.path.isdir(each_file):#如果是文件夹进入然后递归
search_save(each_file)
os.chdir(os.pardir)#之后返回上一级目录
else:
tuple_file=os.path.splitext(each_file)#分割名字与格式
if tuple_file[1]=='.mp4'or #如果格式为一下四种tuple_file[1]=='.rmvb'or tuple_file[1]=='.avi':
#vidio_list.append(os.getcwd()+os.sep+each_file)
file1.write(os.getcwd()+os.sep+each_file+'\n')#写入txt文件
path_name=input('请输入top文件夹:')
vidio_list=[]
search_save(path_name)
file1.close()