本文實例為大家分享了python批量讀取文件名并寫入txt中的具體代碼,供大家參考,具體內容如下
先說下腳本使用的環(huán)境吧,在做項目的過程中需要動態(tài)加載圖片,使用Unity的Resources.Load方法,但是百十張圖片怎么能一 一寫下他們的名字作為加載的路徑呢?總不能一個一個編輯后存到數(shù)組中吧,(雖然我最初是這么做的)。所以必須有一個批量的工具,必須的。
于是乎激發(fā)了我的靈感,下面看代碼。備注少,不動的給我留言,我會及時回復的。
#coding=utf-8
import sys
import os, glob
reload(sys)
sys.setdefaultencoding('utf-8')
#輸出路徑,自行修改
TxtPath="C://Users//yupu//Desktop//f.txt"
def BFS_Dir(dirPath, dirCallback = None, fileCallback = None):
queue = []
ret = []
f=open(TxtPath,'w') # r只讀,w可寫,a追加
queue.append(dirPath);
while len(queue) > 0:
tmp = queue.pop(0)
if(os.path.isdir(tmp)):
ret.append(tmp)
for item in os.listdir(tmp):
queue.append(os.path.join(tmp, item))
if dirCallback:
dirCallback(tmp)
elif(os.path.isfile(tmp)):
ret.append(tmp)
if fileCallback:
mPath , ext = os.path.splitext(tmp)
names = os.path.split(mPath)
if(ext==".meta"):
continue
else:
print names[1]
f.write(names[1])
f.write('\n')
fileCallback(tmp)
f.close()
return ret
def printDir(dirPath):
print "dir: " + dirPath
def printFile(dirPath):
print "file: " + dirPath
if __name__ == '__main__':
while True:
path = raw_input("Path:")
try:
b = BFS_Dir(path , printDir, printFile)
print ("\r\n *******\r\n"+"*********Done*********"+"\r\n **********\r\n")
except:
print "Unexpected error:", sys.exc_info()
raw_input('press enter key to rehandle')
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

