python遍歷文件夾
① python或者bat怎麼遍歷文件夾下所有文件和文件夾然後修改後綴
先遍歷所有文件:
fromosimportwalk
f=[]
for(dirpath,dirnames,filenames)inwalk(mypath):
f.extend(filenames)
break
② python,如何遍歷一個目錄,輸出所有文件名
importos
defiterbrowse(path):
forhome,dirs,filesinos.walk(path):
forfilenameinfiles:
yieldos.path.join(home,filename)
forfullnameiniterbrowse("/home/bruce"):
printfullname
③ 如何使用python flask遍歷一個路徑中的所有文件
這個是ftp模塊的
#fullname=ftp.dir() #顯示目錄下文件信息
#print fullname
ftp.cwd('/temp/data/') # 設置FTP路徑
list = ftp.nlst() # 獲得目錄列表
for listtile in list
print listtile #遍歷列印
這是本地的
import os
import os.path
rootdir = 「d:\data」 # 指明被遍歷的文件夾
for parent,dirnames,filenames in os.walk(rootdir):
#三個參數:分別返回1.父目錄 2.所有文件夾名字(不含路徑)
3.所有文件名字
for dirname in dirnames:
#輸出文件夾信息
print "parent is:" + parent
print "dirname is" + dirname
for filename in filenames:
#輸出文件信息
print "parent is": + parent
print "filename is:" + filename
print "the full name of the file is:" + os.path.join(parent,filename)
#輸出文件路徑信息
#windows下為:d:\data\query_text\EL_00154
④ python 遍歷文件夾PDF並轉換成圖片
這種圖片的也可以轉換成圖片的形式,一般文件夾要進行一個轉化才可以變成圖片。
⑤ python怎麼遍歷一個目錄下的所有目錄
path = './'
for parent, dirnames, filenames in os.walk(path):
...
parent就是父級目錄
dirnames就是該目錄下面的子目錄
filenames就是該目錄下面的文件
⑥ 如何用Python實現目錄遍歷
1. 基本實現
[root@localhost ~]# cat dirfile.py
import os
path='/tmp'
for dirpath,dirnames,filenames in os.walk(path):
for file in filenames:
fullpath=os.path.join(dirpath,file)
print fullpath
執行結果如下:
[root@localhost ~]# python dirfile.py
/tmp/yum.log
/tmp/pulse-3QSA3BbwpQ49/pid
/tmp/pulse-3QSA3BbwpQ49/native
/tmp/.esd-0/socket
2. 在上例的基礎上傳遞參數
import os,sys
path=sys.argv[1]
for dirpath,dirnames,filenames in os.walk(path):
for file in filenames:
fullpath=os.path.join(dirpath,file)
⑦ 如何用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()
- 最後一句是重點,所以這里也給代碼人點個贊!
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")
- 歡迎各種不一樣的想法~~
最後一句讓代碼里的函數都可以被復用,簡單地說:假設文件名是a,在程序中import a以後,就可以用a.excel_table_byname()和a.excel_table_byindex()這兩個超級好用的函數了。
2.然後是遍歷文件夾取得excel文件以及路徑:,原創代碼如下:
[python]view plain
⑧ 如何利用Python遍歷文件夾
import os
import os.path
rootdir = 「d:\data」 # 指明被遍歷的文件夾
for parent,dirnames,filenames in os.walk(rootdir): #三個參數:分別返回1.父目錄 2.所有文件夾名字(不含路徑) 3.所有文件名字
for dirname in dirnames: #輸出文件夾信息
print "parent is:" + parent
print "dirname is" + dirname
for filename in filenames: #輸出文件信息
print "parent is": + parent
print "filename is:" + filename
print "the full name of the file is:" + os.path.join(parent,filename) #輸出文件路徑信息
#windows下為:d:\data\query_text\EL_00154
⑨ 我想用python腳本實現一個文件夾的遍歷找到該文件夾下的空文件夾以及帶有一個文件的文件夾
importos
arr=[]
#os.walk()返回三個數組main當前目錄名sub下級目錄名name下級文件名
formain,sub,nameinos.walk("C:Intel"):
iflen(sub)==0andlen(name)<2:
arr.append(main)
print(arr)
⑩ 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>>> '*'為匹配模式,代表匹配所有文件,只有這樣才能將子文件夾查出來,以便遞歸深入,探查下一層的文件。