Python 小甲鱼教程 课后练习30
来源:互联网 发布:淘宝退款成功没收到钱 编辑:程序博客网 时间:2024/04/27 20:24
第一题的要求是统计当前目录下面,文件的种类并标出数量
代码如下:
import os
mulu=os.listdir(os.curdir)
type_kind={}
for i in mulu:
if os.path.isdir(i): #这里要把文件夹选项和其他的文件类型分开,因为文件夹是没有后缀的!!!
type_kind.setdefault('folder',0)
type_kind['folder']+=1
else:
ext=os.path.splitext(i)[1] #这里要用splitext哦,本来还想着用split('.'),其实完全可以用os.path的命令来做
type_kind.setdefault(ext,0)
type_kind[ext]+=1
for key in type_kind: #这里我本来用enumerate功能,但是结果出来数字是01234,这是错的,因为enumerate显示的是下标!!!不是key映射的value值!!
print ('under this folder there are %s files %s pcs'%(key,type_kind[key]))
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第二题是:
统计当前目录下的文件的大小
代码如下:
import os
mulu=os.listdir(os.curdir)
size={}
for i in mulu:
if os.path.isfile(i): #这里用isfile来检测是否是文件,如果文件夹的话就直接剔除了。
filesize=os.path.getsize(i) #getsize函数,用来获取文件大小
size[i]=filesize #添加键和值进去
for key in size:
print (key,size[key],'bytes')
mulu=os.listdir(os.curdir)
size={}
for i in mulu:
if os.path.isfile(i): #这里用isfile来检测是否是文件,如果文件夹的话就直接剔除了。
filesize=os.path.getsize(i) #getsize函数,用来获取文件大小
size[i]=filesize #添加键和值进去
for key in size:
print (key,size[key],'bytes')
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
第二题是创建一个简单搜索引擎,要求如下,代码如下
这道题目完全不会啊。。。。看的答案敲的
import os
def search(source,target):
os.chdir(source) #这句话相当于在后台把搜索开始的文件夹位置修改
for i in os.listdir(os.curdir):
if i==target:
print (os.getcwd()+os.sep+i) #getcwd是当前文件夹名,os.sep是当前操作系统的分隔符,记住,这里是文件在当前文件夹下面
if os.path.isdir(i):
search(i,target) #这里用到了递归.......不会用,但是能看懂
os.chdir(os.pardir)
source=input('please enter the source folder name: ')
target=input('please enter the target file name: ')
search(source,target)
def search(source,target):
os.chdir(source) #这句话相当于在后台把搜索开始的文件夹位置修改
for i in os.listdir(os.curdir):
if i==target:
print (os.getcwd()+os.sep+i) #getcwd是当前文件夹名,os.sep是当前操作系统的分隔符,记住,这里是文件在当前文件夹下面
if os.path.isdir(i):
search(i,target) #这里用到了递归.......不会用,但是能看懂
os.chdir(os.pardir)
source=input('please enter the source folder name: ')
target=input('please enter the target file name: ')
search(source,target)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
下一题,要求搜索当前所有文件夹下面 规定后缀的文件,要求如下。
代码如下:
import os
content=[]
target=['.avi','.mp4','.rmvb']
def video(source,target): #参数还是要选好,不然代码会写得很难看,本来写的是source和新建文件的名字,后来看答案还是source和目标后缀名比较好
os.chdir(source)
for i in os.listdir(os.curdir):
ext=os.path.splitext(i)[1]
if ext in target:
content.append(os.path.abspath(i)+os.linesep) #这句还可以写成os.getcwd()+os.sep+os.linesep,sep是当前操作系统的分隔符,linesep是当前操作系统换行符, # 如果不写linesep的话,下面videolist打印出来的结果不会自动换行
if os.path.isdir(i):
video(i,target)
os.chdir(os.pardir)
content=[]
target=['.avi','.mp4','.rmvb']
def video(source,target): #参数还是要选好,不然代码会写得很难看,本来写的是source和新建文件的名字,后来看答案还是source和目标后缀名比较好
os.chdir(source)
for i in os.listdir(os.curdir):
ext=os.path.splitext(i)[1]
if ext in target:
content.append(os.path.abspath(i)+os.linesep) #这句还可以写成os.getcwd()+os.sep+os.linesep,sep是当前操作系统的分隔符,linesep是当前操作系统换行符, # 如果不写linesep的话,下面videolist打印出来的结果不会自动换行
if os.path.isdir(i):
video(i,target)
os.chdir(os.pardir)
source=input('please enter the initial directory: ')
video(source,target)
road=os.getcwd()
f=open('videolist.txt','w')
for x in content:
f.writelines(x)
f.close()
video(source,target)
road=os.getcwd()
f=open('videolist.txt','w')
for x in content:
f.writelines(x)
f.close()
0 0
- Python 小甲鱼教程 课后练习30
- Python 小甲鱼教程 课后练习20
- Python 小甲鱼教程 课后练习29
- Python 小甲鱼教程 课后练习39
- Python 小甲鱼教程 课后练习42
- Python 小甲鱼教程 课后练习43
- Python 小甲鱼教程 课后练习44
- Python 小甲鱼教程 课后练习25 关于字典
- Python 小甲鱼教程 课后练习31 pickle模块
- Python 小甲鱼教程 课后练习33 异常处理
- Python 小甲鱼教程 课后练习30 番外篇_需要谨记!!!
- Python 小甲鱼教程 Easygui 练习
- Python 小甲鱼教程 Easygui 篇
- Python 小甲鱼教程 属性访问
- 小甲鱼教程-文字小游戏-界面框-Easygui练习
- 小甲鱼学python
- 小甲鱼学python
- 小甲鱼学python
- Android中利用Canvas画简单柱状图
- ExtJs中Store的种类
- 安卓 画圆形头像
- 如何使用jquery选择多个checkbox以及如何判断checkbox选中的数量
- Android使用Handler造成内存泄露的分析及解决方法
- Python 小甲鱼教程 课后练习30
- 나가
- 天梯赛 L3-004. 肿瘤诊断(BFS)
- ccufl 一个简单的通用c函数库
- Swift Array Slice
- ABAP实战Smart Forms设计
- socket编程之addrinfo结构体与getaddrinfo函数
- Android--各类动画效果BaseAnimation
- Android Studio插件开发实践--从创建到发布