python通过shutil基于regex模式复制文件
我在stackoverflow和编程方面都是新手,我正在努力解决办公室里一个相当耗时的问题。我们希望根据文件名将文件复制到其他位置,或将其添加到.zip文件中 文件名如下所示:16410_REC-7372-20201102161426.PDF 重要的部分是:python通过shutil基于regex模式复制文件,python,regex,shutil,Python,Regex,Shutil,我在stackoverflow和编程方面都是新手,我正在努力解决办公室里一个相当耗时的问题。我们希望根据文件名将文件复制到其他位置,或将其添加到.zip文件中 文件名如下所示:16410_REC-7372-20201102161426.PDF 重要的部分是: 我们只需要选择包含前缀“REC”的文件 以下4位数字是需要由用户输入指定的所需文档的数字范围 最后,数字范围内的文件需要复制到新的目标或添加到.zip文件 到目前为止,我唯一能做的就是根据文件结尾将文件复制到另一个位置。从我所读到的内容
- 我们只需要选择包含前缀“REC”的文件
- 以下4位数字是需要由用户输入指定的所需文档的数字范围
- 最后,数字范围内的文件需要复制到新的目标或添加到.zip文件
from os.path import isfile
import os
import shutil
source = os.listdir("n:/DIESTEIN/DSCS/Dokumente/")
destination = "n:/Test/"
print('select starting number: ')
f_start = input()
print('select ending number: ')
f_end = input()
for files in source:
if files.endswith(".txt"):
shutil.copy(files, destination)
我希望有人能给我指出正确的方向或帮助我编写代码
干杯,
Markus要查找静态模式,实际上不需要正则表达式 顺便说一句,我会将您的脚本更改为只查看当前目录;然后,就可以很容易地对一组要测试的文件进行测试,而不必在实际生产位置进行测试
#从os.path导入isfile
import re
pattern = re.compile(r"\d+_REC-(\d+)-\d+\.PDF")
...
matching = pattern.match(file)
if matching and f_start <= int(matching.group(1)) <= f_end: