如何 select 并将具有特定文件名的文件从一个目录复制到另一个目录?
How to select and copy files with specific file names from one directory to another?
我有一个包含两种不同类型文件名的目录daily/monthly:
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);
我有一个包含两种不同类型文件名的目录daily/monthly:
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);