![](/img/trans.png)
[英]How to copy all jsons files from folder1 and folder2 into third?
[英]How to Rename Files from Folder1 Based On Folder2 files names?
我在 2 个文件夹中有 1000 多个文件(数量相同)。
例子
Folder1/
0.json
1.json
2.json
Folder2/
some_name1.xml
some_name2.xml
some_name3.xml
我想根据第二个文件夹文件名重命名第一个文件夹中的所有文件,但不是扩展名
我得到了这个脚本。 它必须只是一个一个地重命名所有文件但是现在它遇到了一个问题,重命名文件后有混洗,这意味着信息与文件夹1中的文件不同。 任何想法如何解决这个问题?
from pathlib import Path
src = Path(r"/home/folder2")
dst = Path(r"/home/folder1")
for s, d in zip(src.iterdir(), dst.iterdir()):
d.rename(d.with_name(s.with_suffix(d.suffix).name))
以下是键 function 的示例,它将使用在文件名中找到的第一个 integer 作为排序键,否则仅使用文件名(所有文件名中不包含整数的文件将排在最后):
from pathlib import Path
import re
import math
rex = re.compile(r'\d+')
def my_key_function(path):
m = rex.search(path.name)
# file names without integers in them will be sorted last:
return (int(m[0]) if m else math.inf, path.name)
for s, d in zip(sorted(src.iterdir(), key=my_key_function()), sorted(dst.iterdir(), key=my_key_function)):
etc.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.