『壹』 python如何遍历文件夹然后生成md5
importos,hashlibdefgetlistdir(path):try:#如果path是一个文件的完整名称,os.listdir会抛出错误fl=os.listdir(path)exceptExceptionase:fl=[]finally:returnfldefgetallfile(path):allfile=[]fl=getlistdir(path)iflen(fl)!=0:fl=list(map(lambdax:path+'\'+x,fl))allfile=allfile+flforfinfl:allfile=allfile+getallfile(f)returnallfiledefmakemd5(stri):md5=hashlib.md5()md5.update(stri.encode('utf-8'))returnmd5.hexdigest()defmain():myfilelist=getallfile('.')#获取当前文件'.'中的所有文件和文件夹名listmyfilestr='|'.join(myfilelist)#文件list转换为以'|'分隔的字符串print(myfilestr)#显示要进行md5摘要加密的字符print("md5=",makemd5(myfilestr))#计算并显示md5码main()
『贰』 Python中如何遍历指定目录下的所有文件
例如:在C:\TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有\sub1子文件夹,C:\TDDOWNLOAD\sub1下又有c.txt、d.txt两个文件。 1. os.walk os.walk()返回一个三元素的tuple:当前路径、子文件夹名称、文件列表。>>> import os>>> def fun( path ):… for root, dirs, files in os.walk( path ):… for fn in files:… print root, fn… >>> fun( r'C:\TDDOWNLOAD' )C:\TDDOWNLOAD a.txtC:\TDDOWNLOAD b.txtC:\TDDOWNLOAD\sub1 c.txtC:\TDDOWNLOAD\sub1 d.txt>>> 2. glob.glob glob.glob()只接受一个参数,这个参数既代有路径,又代有匹配模式,返回值为一个列表。注意,glob.glob()无法直接穿透子文件夹,需要自己处理:>>> def fun( path ):… for fn in glob.glob( path + os.sep + '*' ): # '*'代表匹配所有文件… if os.path.isdir( fn ): # 如果结果为文件夹… fun( fn ) # 递归… else:… print fn… >>> fun( r'C:\TDDOWNLOAD' )C:\TDDOWNLOAD\a.txtC:\TDDOWNLOAD\b.txtC:\TDDOWNLOAD\sub1\c.txtC:\TDDOWNLOAD\sub1\d.txt>>> '*'为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。
『叁』 我想用python脚本实现一个文件夹的遍历找到该文件夹下的空文件夹以及带有一个文件的文件夹
importosarr=[]#os.walk()返回三个数组main当前目录名sub下级目录名name下级文件名formain,sub,nameinos.walk("C:Intel"):iflen(sub)==0andlen(name)<2:arr.append(main)print(arr)
『肆』 python,如何遍历一个目录,输出所有文件名
importosdefiterbrowse(path):forhome,dirs,filesinos.walk(path):forfilenameinfiles:yieldos.path.join(home,filename)forfullnameiniterbrowse("/home/bruce"):printfullname
『伍』 如何用Python实现目录遍历
1. 基本实现 [[email protected] ~]# cat dirfile.pyimport ospath='/tmp'for dirpath,dirnames,filenames in os.walk(path): for file in filenames: fullpath=os.path.join(dirpath,file) print fullpath 执行结果如下:[[email protected] ~]# python dirfile.py /tmp/yum.log/tmp/pulse-3QSA3BbwpQ49/pid/tmp/pulse-3QSA3BbwpQ49/native/tmp/.esd-0/socket2. 在上例的基础上传递参数import os,syspath=sys.argv[1]for dirpath,dirnames,filenames in os.walk(path): for file in filenames: fullpath=os.path.join(dirpath,file)
『陆』 python或者bat怎么遍历文件夹下所有文件和文件夹然后修改后缀
先遍历所有文件:
fromosimportwalkf=[]for(dirpath,dirnames,filenames)inwalk(mypath):f.extend(filenames)break
『柒』 python 递归遍历文件夹
没有仔细看,但你的第一句就有错def distinguish_file(user_paht):参数应为user_path
『捌』 python 遍历文件夹PDF并转换成图片
这种图片的也可以转换成图片的形式,一般文件夹要进行一个转化才可以变成图片。
『玖』 如何用python遍历文件夹下的所有excel文件
大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法:
1.如何读取excel文件
网上的版本很多,在xlrd模块基础上,找到一些源码:
[python]view plain
importxdrlib,sys
importxlrd
defopen_excel(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx"):
data=xlrd.open_workbook(file)
returndata
#根据索引获取Excel表格中的数据参数:file:Excel文件路径colnameindex:表头列名所在行的所以,by_index:表的索引
defexcel_table_byindex(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_index=0):
data=open_excel(file)
table=data.sheets()[by_index]
nrows=table.nrows#行数
ncols=table.ncols#列数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
#根据名称获取Excel表格中的数据参数:file:Excel文件路径colnameindex:表头列名所在行的所以,by_name:Sheet1名称
defexcel_table_byname(file="C:/Users/flyminer/Desktop/新建MicrosoftExcel工作表.xlsx",colnameindex=0,by_name=u'Sheet1'):
data=open_excel(file)
table=data.sheet_by_name(by_name)
nrows=table.nrows#行数
colnames=table.row_values(colnameindex)#某一行数据
list=[]
forrownuminrange(1,nrows):
row=table.row_values(rownum)
ifrow:
app={}
foriinrange(len(colnames)):
app[colnames[i]]=row[i]
list.append(app)
returnlist
defmain():
tables=excel_table_byindex()
forrowintables:
print(row)
tables=excel_table_byname()
forrowintables:
print(row)
if__name__=="__main__":
main()
最后一句是重点,所以这里也给代码人点个赞!
最后一句让代码里的函数都可以被复用,简单地说:假设文件名是a,在程序中import a以后,就可以用a.excel_table_byname()和a.excel_table_byindex()这两个超级好用的函数了。
2.然后是遍历文件夹取得excel文件以及路径:,原创代码如下:
[python]view plain
importos
importxlrd
importtest_wy
xpath="E:/唐伟捷/电力/电力系统总文件夹/舟山电力"
xtype="xlsx"
typedata=[]
name=[]
raw_data=[]
file_path=[]
defcollect_xls(list_collect,type1):
#取得列表中所有的type文件
foreach_elementinlist_collect:
ifisinstance(each_element,list):
collect_xls(each_element,type1)
elifeach_element.endswith(type1):
typedata.insert(0,each_element)
returntypedata
#读取所有文件夹中的xls文件
defread_xls(path,type2):
#遍历路径文件夹
forfileinos.walk(path):
foreach_listinfile[2]:
file_path=file[0]+"/"+each_list
#os.walk()函数返回三个参数:路径,子文件夹,路径下的文件,利用字符串拼接file[0]和file[2]得到文件的路径
name.insert(0,file_path)
all_xls=collect_xls(name,type2)
#遍历所有type文件路径并读取数据
forevey_nameinall_xls:
xls_data=xlrd.open_workbook(evey_name)
foreach_sheetinxls_data.sheets():
sheet_data=test_wy.excel_table_byname(evey_name,0,each_sheet.name)
#请参考读取excel文件的代码
raw_data.insert(0,sheet_data)
print(each_sheet.name,":Datahasbeendone.")
returnraw_data
a=read_xls(xpath,xtype)
print("Victory")
欢迎各种不一样的想法~~
『拾』 如何利用Python遍历文件夹
import osimport os.pathrootdir = “d:\data” # 指明被遍历的文件夹for parent,dirnames,filenames in os.walk(rootdir): #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字for dirname in dirnames: #输出文件夹信息print "parent is:" + parentprint "dirname is" + dirnamefor filename in filenames: #输出文件信息print "parent is": + parentprint "filename is:" + filenameprint "the full name of the file is:" + os.path.join(parent,filename) #输出文件路径信息#windows下为:d:\data\query_text\EL_00154
未经允许不得转载:山九号 » python遍历文件夹|我想用python脚本实现一个文件夹的遍历找到该文件夹下的空文件夹以及带有一个文件的文件夹