Переименовать несколько файлов из имени каталога - PullRequest
0 голосов
/ 03 июля 2019

У меня есть несколько каталогов с несколькими файлами в каждом.Каждый файл в каждом каталоге имеет одинаковую структуру.

enter code here

.
├── one
│   ├── alpha.yaml
│   └── beta.yaml
├── three
│   ├── alpha.yaml
│   └── beta.yaml
└── two
    ├── alpha.yaml
    └── beta.yaml

Я хотел бы переименовать все файлы с соответствующими именами каталогов, например:

.
├── one
│   ├── one_alpha.yaml
│   └── one_beta.yaml
├── three
│   ├── three_alpha.yaml
│   └── three_beta.yaml
└── two
    ├── two_alpha.yaml
    └── two_beta.yaml

Я пробовал некоторые команды цикла, но они удаляются:

for i in *; do mv "$i/_alpha.yaml" "$i/$i_alpha.yaml" ; do

1 Ответ

0 голосов
/ 03 июля 2019

Вы можете сделать это, используя os.rename в python:

import os

basepath = './'
for dirname, dirnames, filenames in os.walk(basepath):
   for singleFile in filenames:  
       os.rename(singleFile, dirname + '_' + singleFile) 

Дайте мне знать, если это работает

...