Discuss / Python / 第二题

第二题

Topic source

GrayAshhh

#1 Created at ... [Delete] [Delete and Lock User]
#!/usr/bin/env python3
# -*- coding utf-8 -*-

import os, sys


def help():
    print('Please input "python searchname.py xxx" to show all files if filename contains xxx')


def printname(dire, name):
    try:
        lst = os.listdir(dire)
    except PermissionError:
        return    for f in lst:
        if os.path.isdir(f):
            printname(os.path.join(dire, f), name)
        else:
            if name in f:
                print(os.path.join(dire, f))


def search(name):
    pwd = '.'    printname(pwd, name)


def main():
    if len(sys.argv) == 1:
        search(input('Please input a string:'))
    elif len(sys.argv) > 2:
        help()
    elif not isinstance(sys.argv[1], str):
        help()
    else:
        search(sys.argv[1])


if __name__ == '__main__':
    main()

GrayAshhh

#2 Created at ... [Delete] [Delete and Lock User]

坑爹的缩进~

#!/usr/bin/env python3
# -*- coding utf-8 -*-


import os, sys


def help():
    print('Please input "python searchname.py xxx" to show all files if filename contains xxx')


def printname(dire, name):
    try:
        lst = os.listdir(dire)
    except PermissionError:
        return
    for f in lst:
        if os.path.isdir(f):
            printname(os.path.join(dire, f), name)
        else:
            if name in f:
                print(os.path.join(dire, f))


def search(name):
    pwd = '.'
    printname(pwd, name)


def main():
    if len(sys.argv) == 1:
        search(input('Please input a string:'))
    elif len(sys.argv) > 2:
        help()
    elif not isinstance(sys.argv[1], str):
        help()
    else:
        search(sys.argv[1])


if __name__ == '__main__':
    main()

  • 1

Reply