Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python通过shutil基于regex模式复制文件_Python_Regex_Shutil - Fatal编程技术网

python通过shutil基于regex模式复制文件

python通过shutil基于regex模式复制文件,python,regex,shutil,Python,Regex,Shutil,我在stackoverflow和编程方面都是新手,我正在努力解决办公室里一个相当耗时的问题。我们希望根据文件名将文件复制到其他位置,或将其添加到.zip文件中 文件名如下所示:16410_REC-7372-20201102161426.PDF 重要的部分是: 我们只需要选择包含前缀“REC”的文件 以下4位数字是需要由用户输入指定的所需文档的数字范围 最后,数字范围内的文件需要复制到新的目标或添加到.zip文件 到目前为止,我唯一能做的就是根据文件结尾将文件复制到另一个位置。从我所读到的内容

我在stackoverflow和编程方面都是新手,我正在努力解决办公室里一个相当耗时的问题。我们希望根据文件名将文件复制到其他位置,或将其添加到.zip文件中

文件名如下所示:16410_REC-7372-20201102161426.PDF

重要的部分是:

  • 我们只需要选择包含前缀“REC”的文件
  • 以下4位数字是需要由用户输入指定的所需文档的数字范围
  • 最后,数字范围内的文件需要复制到新的目标或添加到.zip文件
到目前为止,我唯一能做的就是根据文件结尾将文件复制到另一个位置。从我所读到的内容来看,这可以用regex(我认为我可以构造的字符串)来完成,但我不知道如何在python中实现选择

以下是迄今为止的代码:

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: