python - Python:复制文件和创建目录时,从列表或数据框中递归命名文件夹
问题描述
我需要搜索分布在数据库不同部分的文件和目录,然后将它们复制到将根据文件内容命名的文件夹中。许多文件/目录都有一个 10 位数字,这将是它们将被复制到的文件夹的名称。
我的想法是我会:
- 创建一个唯一的 10 位数字列表(已经完成)。
- 递归地搜索文件路径列表中的每个数字(我已经创建了文件路径列表)。
- 当我将文件/目录复制到新文件夹时,递归命名我将复制文件/目录到的文件夹(标题为那些 10 位数字)。
不要关心元数据复制。文件路径将是新的(没有被覆盖,并且我有必要的访问/权限)。
我正在考虑像这里显示的那样做:Copy files using python with complete folder structure
但我对如何设置代码感到困惑,这样我就可以iterate
通过 my list
of (windows) file paths
、 my list
of folder names
(10-digit numbers) 以及每个文件夹的关联文件路径的另一个列表(该列表仍未制作,可能必须是每个文件夹的单独列表)。
幸运的是,大多数文件路径都有那个 10 位数的标识符,而且我已经有了一个可搜索的列表。
那么,我将如何递归地将这些 3+ 列表输入到代码中以复制文件?将其输入 pd.dataframe 是否更有意义?
我正在考虑使用下面链接中的代码,但欢迎提出建议。我不确定这是否会接受列表。文件和子目录将移动到同一目录中的新文件夹中(如图)。
filePath=["D:\\", "C:\\Users"]
# ext=['mkv','docx','doc','pdf','mp4','zip',]
fileExt=["**\*.docx","**\*.doc","**\*.pdf"]
fileList={}
for each_drive in filePath:
fileList[each_drive]={}
for each_type in fileExt:
fileList[each_drive][each_type]=list(pathlib.Path(each_drive).glob(each_type))
file1 = open('test.txt', 'w')
for each in fileList.values():
for each2 in each.values():
for entry in each2:
print(entry)
file1.writelines(str(str(entry)+ "\n"))
解决方案
推荐阅读
- node.js - Mongoose 没有将 update() 上的数据保存到 Mlab
- java - htmlParse:如何从 HTMLInternalDocument 中提取元素
- python - 按索引合并两个数据框并返回唯一列 pandas
- php - while循环内的传单侧边栏
- python - 与 Mac 兼容的 PyQt5 错误
- windows-installer - 如何将 msi 安装程序 setexternalui 与 pascal 一起使用
- python-3.x - 将单词重新排序规则应用于元组列表
- python - 在 Python/Numpy/Scipy 中查找两个数组之间的插值交集
- android - Android 中的 Qt 和应用程序数据存储
- javascript - 如何在firebase中获取密钥?