有坑的地方: 如果代码写成这样: [( os.path.abspath(x)) for x in os.listdir(startPath) ] 此代码只能用于当前目录下,listdir列出的都只是文件名,然后abspath(x)对着一个文件名找绝对路径,肯定不行,电脑里同名的文件那么多,你要找哪个? 同样,isfile()也不同用于一个文件名,所以这些函数都只是对当前目录下的操作 import os,sys #编写一个程序,能在某目录以及其所有子目录下查找文件名包含指定字符串的文件,并打印出相
在python中编程导入压缩包,利用zipfile包,从zipinfo读取文件名总是出错,创建的文件名是乱码,写入pgsql更是出错. 但在ubuntu下测试却正常,在windows下测试总是失败. if not hdfs.exists_file_dir(dir): hdfs.make_dir(dir) hdfs.create_file(hpath, zip.read(info)) # There is no official file name encoding for ZIP files.
print "I have a proble! And here is at Line: %s"%sys._getframe().f_lineno PDB,哈哈http://docs.python.org/library/pdb.html import fileinput fileinput.filename() import srcinfo print ('warning: %s: %d: %s' %(srcinfo.file(), srcinfo.line(), x)) 绝对路径
引言: 有时因为文件版本的更新,后缀名会发生变化,例如Word13的docx到Word16的doc,又例如我们想修改音频文件的后缀.一个一个修改后缀名往往很麻烦,于是我们便可以写一个Python的脚本来批量处理. 代码: import os files = os.listdir(".")#获取当前目录下的文件 for filename in files: portion = os.path.splitext(filename)#将文件名拆成名字和后缀 if portion[1] ==
在当前目录以及当前目录的所有子目录下查找文件名包含指定字符串的文件,并打印出相对路径: 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))
一.列表查找:从列表中查找指定元素 输入:列表.待查找元素 输出:元素下标或未查找到元素 二.列表查找方式 顺序查找 : 从列表的第一个元素开始遍历,知道找到为止.时间复杂度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