У меня есть эта строка в полезном Bash-скрипте, который мне не удалось перевести на Python, где 'a' - это количество файлов для архивирования, введенное пользователем за несколько дней:
find ~/podcasts/current -mindepth 2 -mtime '+`a`+' -exec mv {} ~/podcasts/old \;
Я знаком с os.name и getpass.getuser для наиболее общих кроссплатформенных элементов. У меня также есть эта функция для генерации списка полных имен всех файлов в эквиваленте ~ / podcasts / current:
def AllFiles(filepath, depth=1, flist=[]):
fpath=os.walk(filepath)
fpath=[item for item in fpath]
while depth < len(fpath):
for item in fpath[depth][-1]:
flist.append(fpath[depth][0]+os.sep+item)
depth+=1
return flist
Прежде всего, должен быть лучший способ сделать это, любое предложение приветствуется. В любом случае, например, «AllFiles ('/ users / me / music / itunes / itunes music / podcasts')» выдает соответствующий список в Windows. Предположительно я должен иметь возможность просмотреть этот список и вызвать os.stat (list_member) .st_mtime и переместить все материалы старше определенного числа дней в архив; Я немного застрял в этом.
Конечно, все, что связано с краткостью команды bash, также будет освещено.