python批量读取文件名并写入txt文件中

本文实例为大家分享了python批量读取文件名并写入txt中的具体代码,供大家参考,具体内容如下

先说下脚本使用的环境吧,在做项目的过程中需要动态加载图片,使用Unity的Resources.Load方法,但是百十张图片怎么能一 一写下他们的名字作为加载的路径呢?总不能一个一个编辑后存到数组中吧,(虽然我最初是这么做的)。所以必须有一个批量的工具,必须的。

于是乎激发了我的灵感,下面看代码。备注少,不动的给我留言,我会及时回复的。

#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')

以上是 python批量读取文件名并写入txt文件中 的全部内容, 来源链接: utcz.com/z/318414.html

回到顶部