一.列表查找:从列表中查找指定元素 输入:列表.待查找元素 输出:元素下标或未查找到元素 二.列表查找方式 顺序查找 : 从列表的第一个元素开始遍历,知道找到为止.时间复杂度O(n) 二分查找 :从有序的列表的候选区L[0:n]开始,通过堆待查找的值与候选区中间值进行比较,每次候选区数减少一半,时间复杂度O(logn) 顺序查找 def linear_search(data_set, value): for i in range(range(data_set)): if data_set[i]
输入查找的文件夹路径,要查找的内容关键字(可以指定多个),要查找的文件类型(可以是多个),搜索出符合条件的文件,并记录所有符合条件的行号及行内容. 写的感觉有点冗余,但好歹还能使用^-^,主要是方便手头工作. # coding:utf8 import os from os.path import * # enter the search dir print r"""Search file tool(Ver1.0) dirpath /k keywords [/e fileext
#!/usr/bin/env python # Version = 3.5.2 import os import time d_path = '/data/media' log_file = 'result.log' def con_chinese(s): """ 包含汉字的返回TRUE :param s: 要判断的字符串 :return: 返回值 """ for c in s: if '\u4e00' <= c <= '\u9fa5
程序设计思路:1. 利用os.walk()找出所有的文件;2.利用正则找到指定后缀的文件:3.找到需要的txt文件后,通过open().readlines()读取文件中每行数据;4.读取后,保存正则匹配到数据的文件:5.你懂的. #!/usr/bin/env python #coding:utf8 import os import re regtxt = r'.+?\.txt' #扫描对象为txt文件. regcontent = r'what is your name' #列出内容含有'what
在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径: import os testfiles = [] testfilepaths = [] L = len(os.path.abspath('.')) def searchfile(path): for item in os.listdir(path): if os.path.isdir(os.path.join(path, item)): searchfile(os.path.join(path, item))
# 查找电脑所有视频 for cur_dir,dirs,files in os.walk(r'f:'): print('当前正在%s目录下查找'%cur_dir) for f in files:#当前目录下的所有文件 if f.endswith('.mp4'): real_path = os.path.join(cur_dir,f) #os.remove(real_path) print('发现一个小电影[%s],目录正在 [%s]'%(f,cur_dir))
有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文件名,然后abspath(x)对着一个文件名找绝对路径,肯定不行,电脑里同名的文件那么多,你要找哪个? 同样,isfile()也不同用于一个文件名,所以这些函数都只是对当前目录下的操作 import os,sys #编写一个程序,能在某目录以及其所有子目录下查找文件名包含指定字符串的文件,并打印出相