当前位置:   article > 正文

【百度训练营】python小白逆袭大神 Day1-Python基础练习_python遍历”day1-homework”目录下文件;

python遍历”day1-homework”目录下文件;

一、前言

最近在学习百度飞浆和EasyDL,使用python语言。我自己的python编程能力不强,所以参加了一个针对python应用于AI的课程,为期七天,每天都有作业。在这我会记录一下作业的内容,和一些python知识点和大家分享。有什么不对的地方,希望大家批评指正。

二、Day1作业

1.作业一:输出 9*9 乘法口诀表(注意格式)

代码:

def table():
    #使用range函数和两层for输出
    for i in range(1,10):
        for j in range(1,i):
            print('%d * %d = %d'%(j,i,j*i),end = '\t')
        print('\n')

if __name__ == '__main__':
    table()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

运行结果:

1 * 2 = 2	

1 * 3 = 3	2 * 3 = 6	

1 * 4 = 4	2 * 4 = 8	3 * 4 = 12	

1 * 5 = 5	2 * 5 = 10	3 * 5 = 15	4 * 5 = 20	

1 * 6 = 6	2 * 6 = 12	3 * 6 = 18	4 * 6 = 24	5 * 6 = 30	

1 * 7 = 7	2 * 7 = 14	3 * 7 = 21	4 * 7 = 28	5 * 7 = 35	6 * 7 = 42	

1 * 8 = 8	2 * 8 = 16	3 * 8 = 24	4 * 8 = 32	5 * 8 = 40	6 * 8 = 48	7 * 8 = 56	

1 * 9 = 9	2 * 9 = 18	3 * 9 = 27	4 * 9 = 36	5 * 9 = 45	6 * 9 = 54	7 * 9 = 63	8 * 9 = 72	
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

2.作业二:查找特定名称文件

遍历”Day1-homework”目录下文件;找到文件名包含“2020”的文件;将文件名保存到数组result中;按照序号、文件名分行打印输出。

代码:

#导入OS模块
import os
#待搜索的目录路径
path = "Day1-homework"
#待搜索的名称
filename = "2020"
#定义保存结果的数组
result = []

def findfiles():
    #在这里写下您的查找文件代码吧!
    #root 所指的是当前正在遍历的这个文件夹的本身的地址
    #dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
    #files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)
    for root,dirs,flies in os.walk(path):
        for name in flies:
            if filename in name:
                result.append(os.path.join(root,name))
    for i in range(len(result)):
        print('%d , %s'%(i+1,result[i]))
        

if __name__ == '__main__':
    findfiles()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

运行结果:

1 , Day1-homework/18/182020.doc
2 , Day1-homework/4/22/04:22:2020.txt
3 , Day1-homework/26/26/new2020.txt
  • 1
  • 2
  • 3

三、笔记

1.range函数常见用法

函数原型:range(start, end, scan):
参数含义:
start:计数从start开始。默认是从0开始。
end:计数到end结束,但不包括end.例如。
scan:每次跳跃的间距,即步长,默认为1。
例子:

>>> range(0,4,1)
[0,1,2,3]
>>> range(0,4) #默认步长为1,输出和上面一样
[0,1,2,3]
>>> range(4) #默认从0开始,所以输出也和上面一样
[0,1,2,3]
>>> range(0,4,2) #步长为2,则输出0,0+2,0+2+2....
[0,2] 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

2.python的os.walk()方法

os.walk() 方法用于通过在目录树中游走输出在目录中的文件名,向上或者向下。

语法格式:

os.walk(top)
  • 1

top 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。
root 所指的是当前正在遍历的这个文件夹的本身的地址
dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)
files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)

假设top地址文件夹下只有文件夹a和文件夹a中的文件b,dirs即为文件夹a的路径,files即为文件b的路径。

更加详细可参考:

https://www.runoob.com/python/os-walk.html?tdsourcetag=s_pctim_aiomsg
  • 1
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/318884
推荐阅读
相关标签
  

闽ICP备14008679号