当前位置:首页>开发>正文

acdsee如何把文件夹内包括子文件夹内的所有图片一起浏览 Python中如何遍历指定目录下的所有文件

2023-07-18 14:17:06 互联网 未知 开发

 acdsee如何把文件夹内包括子文件夹内的所有图片一起浏览 Python中如何遍历指定目录下的所有文件

acdsee如何把文件夹内包括子文件夹内的所有图片一起浏览?

Acdsee一起浏览图片的方法:
1、同时浏览多个文件夹,又不想把它们合并到一个文件夹里面。点击开一个文件夹,里面有4张图片,下面2个文件夹也分别有2张图片

2、其实很简单,用鼠标选择第一个文件夹,按住Shift连选这3个文件夹,看三个文件夹里的图片被合并到一起了,你可以复制粘贴移动修改他们。

Python中如何遍历指定目录下的所有文件?

例如:在C:TDDOWNLOAD目录下有a.txt、b.txt两个文件,另有sub1子文件夹,C:TDDOWNLOADsub1下又有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( rC:TDDOWNLOAD )
C:TDDOWNLOAD a.txt
C:TDDOWNLOAD b.txt
C:TDDOWNLOADsub1 c.txt
C:TDDOWNLOADsub1 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( rC:TDDOWNLOAD )
C:TDDOWNLOADa.txt
C:TDDOWNLOAD.txt
C:TDDOWNLOADsub1c.txt
C:TDDOWNLOADsub1d.txt
>>>

*为匹配模式,代表匹配所有文件,只有这样才能将子文件夹查出来,以便递归深入,探查下一层的文件。

thinkphp 一个字段中包含多个图片文件路径

获取当前img字段$pics = $this->v[img]
$pics = explode(|,$pics)//将字符串转换为数组
if(is_array($pics)){
foreach($pics as $v){
echo $v//这个就是获取到的图片路径

}

}

如何用python遍历文件夹下的所有excel文件

大数据处理经常要用到一堆表格,然后需要把数据导入一个list中进行各种算法分析,简单讲一下自己的做法:

1.如何读取excel文件
网上的版本很多,在xlrd模块基础上,找到一些源码:
[python] view plain copy
import  xdrlib ,sys  
import xlrd  
def open_excel(file="C:/Users/flyminer/Desktop/新建 Microsoft Excel 工作表.xlsx"):  
data = xlrd.open_workbook(file)  
return data  
#根据索引获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_index:表的索引  
def excel_table_byindex(file="C:/Users/flyminer/Desktop/新建 Microsoft Excel 工作表.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 =[]  
for rownum in range(1,nrows):  
row = table.row_values(rownum)  
if row:  
app = {}  
for i in range(len(colnames)):  
app[colnames[i]] = row[i]  
list.append(app)  
return list  
#根据名称获取Excel表格中的数据   参数:file:Excel文件路径     colnameindex:表头列名所在行的所以  ,by_name:Sheet1名称  
def excel_table_byname(file="C:/Users/flyminer/Desktop/新建 Microsoft Excel 工作表.xlsx",colnameindex=0,by_name=uSheet1):  
data = open_excel(file)  
table = data.sheet_by_name(by_name)  
nrows = table.nrows #行数  
colnames =  table.row_values(colnameindex) #某一行数据  
list =[]  
for rownum in range(1,nrows):  
row = table.row_values(rownum)  
if row:  
app = {}  
for i in range(len(colnames)):  
app[colnames[i]] = row[i]  
list.append(app)  
return list  

def main():  
tables = excel_table_byindex()  
for row in tables:  
print(row)  
tables = excel_table_byname()  
for row in tables:  
print(row)  
if __name__=="__main__":  
main()  
最后一句是重点,所以这里也给代码人点个赞!最后一句让代码里的函数都可以被复用,简单地说:假设文件名是a,在程序中import a以后,就可以用a.excel_table_byname()和a.excel_table_byindex()这两个超级好用的函数了。
2.然后是遍历文件夹取得excel文件以及路径:,原创代码如下:
[python] view plain copy
import os  
import xlrd  
import test_wy  
xpath="E:/唐伟捷/电力/电力系统总文件夹/舟山电力"  
xtype="xlsx"  
typedata = []  
name = []  
raw_data=[]  
file_path=[]  
def collect_xls(list_collect,type1):  
#取得列表中所有的type文件  
for each_element in list_collect:  
if isinstance(each_element,list):  
collect_xls(each_element,type1)  
elif each_element.endswith(type1):  
typedata.insert(0,each_element)  
return typedata  
#读取所有文件夹中的xls文件  
def read_xls(path,type2):  
#遍历路径文件夹  
for file in os.walk(path):  
for each_list in file[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文件路径并读取数据  
for evey_name in all_xls:  
xls_data = xlrd.open_workbook(evey_name)  
for each_sheet in xls_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,":Data has been done.")  
return raw_data  
a=read_xls(xpath,xtype)  
print("Victory")  
欢迎各种不一样的想法~~