Я хочу указать c изображений и скопировать их - PullRequest
0 голосов
/ 13 июля 2020
from shutil import copyfile
import os 

src = r'E:\DCIM phone\9-1-2020\DCIM\Screenshots'
dst = r'E:\New folder'

for f_name in os.listdir(r'E:\DCIM phone\9-1-2020\DCIM\Screenshots'):
    if f_name.endswith('chrome'):
        copyfile(src, dst)

почему не работает, хотя и не вызывает ошибки Я хочу выбрать изображения и скопировать их ....

Ответы [ 2 ]

1 голос
/ 13 июля 2020

В вашем коде несколько проблем.

Сначала: Windows по умолчанию отображаются некоторые имена файлов с расширениями, но вы должны использовать имена файлов с расширениями.

if filename.endswith( ('chrome.jpg', 'chrome.JPG', 'chrome.png', 'chrome.PNG') ):

или с lower()

if filename.lower().endswith( ('chrome.jpg', 'chrome.png') ):

В конце концов проверьте в любом месте внутри имени файла

if 'chrome' in filename.lower():

Вы также можете использовать оба

if ('chrome' in filename.lower()) and filename.lower().endswith( ('.jpg', '.png') ):

Во-вторых: listdir() дает только filename, но вам нужны src/filename и dst/filename

full_src = os.path.join(src, filename)
full_dst = os.path.join(dst, filename)

copyfile(full_src, full_dst)

Код:

import os 
from shutil import copyfile

src = r'E:\DCIM phone\9-1-2020\DCIM\Screenshots'
dst = r'E:\New folder'

for filename in os.listdir(src):
    if filename.lower().endswith( ('chrome.jpg', 'chrome.png') ):
        full_scr = os.path.join(src, filename)
        full_dst = os.path.join(dst, filename)
        copyfile(full_scr, full_dst)
0 голосов
/ 13 июля 2020

добавить имя файла к sr c,

from shutil import copyfile
import os 

src = r'E:\DCIM phone\9-1-2020\DCIM\Screenshots'
dst = r'E:\New folder'

for f_name in os.listdir(r'E:\DCIM phone\9-1-2020\DCIM\Screenshots'):
    if f_name.endswith('chrome'):
        src = src + '\' + fname
        copyfile(src, dst)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...