簡體   English   中英

如何選擇具有特定文件名的文件並將其從一個目錄復制到另一個目錄?

[英]How to select and copy files with specific file names from one directory to another?

我有一個目錄,每天/每月都有兩種不同類型的文件名:

 report_20-10-2019.csv
 report_21-10-2019.csv
 report_22-10-2019.csv

 report_09-2019.csv
 report_10-2019.csv
 report_11-2019.csv

我正在嘗試僅將每日文件復制到另一個目錄。 到目前為止,我可以使用以下代碼復制所有文件:

import shutil
import os
import glob

source_daily = '/path/to/files/to/copy/*.csv'
dest1 = 'path/to/directory/where/i/paste/my/files/'

files = os.listdir(source)

for file in glob.glob(source):
shutil.copy(file, dest1);

有人能幫忙解決這個問題嗎? 提前致謝!

你當然可以這樣做,

import shutil
import os
import re

source = '/path/to/files/to/copy/'
dest1 = 'path/to/directory/where/i/paste/my/files/'

for filename in os.listdir(source):
    filepath = os.path.join(source, filename)
    if os.path.isfile(filepath):
        if re.search(r"[0-9]+-[0-9]+-[0-9]+\.csv", filepath):
            shutil.copy(filepath, dest1)

希望它能解決您的問題!

使用正則表達式應該對你有用:

import re

import shutil
import os
import glob

source_daily = '/path/to/files/to/copy/*.csv'
dest1 = 'path/to/directory/where/i/paste/my/files/'

files = os.listdir(source)

pattern = re.compile('\w+_[0-3]\d-[0-1]\d-\d{4}.csv') #naming-pattern

for file in glob.glob(source):
    if pattern.match(file):
        shutil.copy(file, dest1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM