Motivation
前面用matlab2python做matlab转python的时候,由于这个工具只写了处理单个文件的情况,没办法一次性处理多个文件。因此对于一个matlab工程来说,要转为python工程就要一个一个文件转,实在是太麻烦了…
于是自己写了个遍历提取文件的脚本供大家参考。
代码
因为考虑到大家可能有不同的处理需求,不一定和我的需求一样,因此后面调用matlab2python的代码没有放上来,只放了遍历提取文件的部分。提取出来的文件保存在file_list
中,file_list
的每个元素都是一个文件的绝对索引。
import os
import collections
import re
def getfile(path, dir_list, file_list):
objects = os.listdir(path)
for obj in objects:
# 在文件/文件夹名字前加上目录索引
obj = os.path.join(path, obj)
if os.path.isdir(obj):
dir_list.append(obj)
else:
file_list.append(obj)
# 直接通过函数修改了dir_list和file_list,因此不给返回值也可以
# return dir_list, file_list
main_path = os.path.dirname(__file__)
dir_list, file_list = collections.deque([main_path]), []
# 遍历文件夹
while dir_list:
cur_path = dir_list.popleft()
getfile(cur_path, dir_list, file_list)