переименовывать строки / переименовывать файлы в python - PullRequest
0 голосов
/ 15 января 2012

У меня есть куча файлов, как показано ниже:

_1 blank file_
_10 - blank file_
_11 - blank file_
_2 blank file_
_3 blank file_

Я хотел бы распечатать имя с добавленными числами (2 символа)

У меня есть:

PATH = "/Users/seth/python/test"
#
#
for (path, dirs, files) in os.walk(PATH):

    for z in  files:

        filename = z.replace(" ","_").replace("-","").replace("__","_")
        print filename

Желаемый результат:

_01_blank_file_

_02_blank_file_

_03_blank_file_

_10_blank_file_

file1111 * * 1020_file111021 *

1 Ответ

1 голос
/ 15 января 2012

Вы можете использовать rjust для этого:

for (path, dirs, files) in os.walk(PATH):
  for z in files:
    filename = z.replace(" ","_").replace("-","").replace("__","_")

    # explode and transform number
    parts = filename.split('_', 2)
    parts[1] = parts[1].rjust(2, '0')

    # rejoin the transformed parts
    print '_'.join(parts)
...