Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 17, 2016 21:23:07

BearPro
Зарегистрирован: 2015-09-09
Сообщения: 46
Репутация: +  0  -
Профиль   Адрес электронной почты  

Список файлов в данной папке

Хочется мне сделать так, что бы вся музыка в формате .mp3 из c:\user\downloads\ сама перемещалась в c:\user\onedrive\music\
Сама операция перемещения вопросов не вызывает: shutil.move(from, to)
А вот как мне найти в C:\user\downloads\ все мои музыки - вот это не понятно.
Пробовал через os.system('dir c:\use\downloads\') - так оно не знает метада .read(), а сама по себе возвращает число - 0, да ещё и сама зачем-то печатает то, что я хотел прочитать.
Отсюда вопрос: Как мне, дураку, узнать какие файлы у меня в данной папке лежат?
И ещё дополнительно: Как мне вообще выполнять команды, и читать их результат? (использую Windows)

Отредактировано BearPro (Янв. 17, 2016 21:23:36)

Офлайн

#2 Янв. 17, 2016 21:30:49

ajib6ept
От: От: От: От: От: От: От: От:
Зарегистрирован: 2013-08-04
Сообщения: 297
Репутация: +  26  -
Профиль   Отправить e-mail  

Список файлов в данной папке

Python os.listdir() Method



_________________________
Python golden rule: Do not PEP 8 unto others; only PEP 8 thy self.
Don't let PEP 8 make you insanely intolerant of other people's code.

Офлайн

#3 Янв. 17, 2016 21:44:19

BearPro
Зарегистрирован: 2015-09-09
Сообщения: 46
Репутация: +  0  -
Профиль   Адрес электронной почты  

Список файлов в данной папке

Спасибо. В итоге всё выглядит так (вдруг у кого найдутся какие рекомендации):

# -*- coding: utf-8 -*-
from time import sleep
from shutil import move
from os import listdir
totalonrun = 0
search_in = 'C:\\Users\\BearPro\\Downloads\\'
move_to = 'c:\\Users\\BearPro\\OneDrive\\Музыка\\Unnamed\\'
while True:
    sleep(5)
    for onefile in listdir('C:\\Users\\BearPro\\Downloads\\'):
        if onefile[-4:] == '.mp3':
            move('{0}{1}'.format(search_in, onefile), move_to)
            totalonrun += 1
            print('{0} только что был перемещён\n\tвсего перемещено {1} файлов'.format(onefile, totalonrun))
А что с системными командами?

Офлайн

#4 Янв. 17, 2016 23:26:08

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  253  -
Профиль   Отправить e-mail  

Список файлов в данной папке

вдруг у кого найдутся какие рекомендации

for onefile in glob.glob(r'C:\Users\BearPro\Downloads\*.mp3'):
Зачем вам sleep(5) ?
import subprocess as sp
sp.check_call("move C:\\Users\\BearPro\\Downloads\\*.mp3 c:\\Users\\BearPro\\OneDrive\\Музыка\\Unnamed",shell=1)
Зачем для этого вообще питон?



Отредактировано doza_and (Янв. 17, 2016 23:27:14)

Офлайн

#5 Янв. 18, 2016 01:44:10

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

Список файлов в данной папке

BearPro
вдруг у кого найдутся какие рекомендации
Все пути и расширения (всё, что можно менять) должны быть вверху, чтобы ты мог задать путь откуда, путь куда и расширение. То есть надо параметризировать программу.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version