0%

python-第四天学习

python3基础学习

模块测试

这部分没有例子,我也就没去写了,总的来说可以测试数据的合理性,没有通过模块测试一定有bug,不过你模块测试都写错了,那就没得说了

文档测试

练习:对函数 fact(n)编写 doctest 并执行:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# -*- coding: utf-8 -*-
def fact(n):
'''
----
----
'''
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n - 1)
if __name__ == '__main__':
import doctest
doctest.testmod()
  • 上述为题目简介

贴上代码,简单:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
def fact(n):
'''
>>> fact(1)
1
>>> fact(2)
2
>>> fact(3)
6
>>> fact(4)
24
'''
if n < 1:
raise ValueError()
if n == 1:
return 1
return n * fact(n-1)
  • 文档测试可以用来做实例,还可以测试数据的正确性,不过不要跟我一样写有规律的测试,写一些随机取数测试

os输入输出流部分

感觉跟c的读写文件都差不多,附上练习部分解答

  1. 利用 os 模块编写一个能实现 dir -l 输出的程序**
  • dir -1就是将每个文件包括目录按每行一个列出来,不包括隐藏文件
    1
    2
    3
    4
    5
    import os
    def dir1():
    for f in os.listdir('.'):
    if not f.startswith('.'):
    print f
  1. 编写一个程序,能在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径。
  • 这题也不难,说实话一开头还不会写,找了点参考文章后才会写

参考文章内容:

  • os.walk(path)遍历path,返回一个对象,

  • 他的每个部分都是一个三元组(‘目录x’,[目录x下的目录list],目录x下面的文件)

  • eg:for root ,dirs,files in os.walk(path): #os.walk返回的是一个三元组:根目录,文件列表,文件名

  • 举例:

    1
    2
    3
    4
    5
    6
    7
    8
    a = os.walk('.')
    for i in a:
    print i
    输出:
    ('.', ['abc', 'temp'], ['path0704.py', '\xc2\xb7\xbe\xb6\xcf\xe0\xb9\xd8\xd1\xa7\xcf\xb0.txt'])
    ('.\\abc', [], ['\xd0\xc2\xbd\xa8 BMP \xcd\xbc\xcf\xf1.bmp'])
    ('.\\temp', ['temp1'], ['temp.h'])
    ('.\\temp\\temp1', [], ['abc.bmp'])
  • 下面贴上我的代码

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    import os
    def Findfile(name):
    myos = os.walk('.')
    for i in myos:
    for j in i[2]:
    if 0 == j.find(name):
    print i[0] + j

    if __name__ == '__main__':
    Findfile('1.py')

本文作者:NoOne
本文地址https://noonegroup.xyz/posts/1c68fab/
版权声明:转载请注明出处!