import os
from string import digits
def rename_files():
#1 - get the file names from the folder
f=os.listdir("/home/happy/Desktop/testfile")
print(f)
#2 - remove numbers from each file name
x = 0
while (x<len(f)):
b = print(os.rename(f[x], f[x].translate(str.maketrans('','',digits))))
print(b)
x=x+1
rename_files()
«os.listdir
» функция возвращает следующий список, когда я распечатать его:Я пытаюсь удалить номера, которые находятся в названиях файлов, которые находятся в списке:
['64seattle.jpg', '2chennai.jpg', '55kiev.jpg', '45ithaca.jpg', '54dallas.jpg', '68pune.jpg', '16los angeles.jpg', '46colombo.jpg', '96karachi.jpg', '36sydney.jpg', '47sao paulo.jpg', '93manchester.jpg', '83gainesville.jpg', '35miami.jpg', '29buenos aires.jpg', '72bucharest.jpg', '66san jose.jpg', '69shanghai.jpg', '73delhi.jpg', '47london.jpg', '52new york.jpg', '45austin.jpg', '2hyderabad.jpg', '47singapore.jpg', '61edinbrugh.jpg', '4istanbul.jpg', '29bristol.jpg', '.DS_Store', '17cairo.jpg', '69chicago.jpg', '41seoul.jpg', '88jacksonville.jpg', '22rochester.jpg', '90beijing.jpg', '28houston.jpg', '89berkeley.jpg', '25madrid.jpg', '97oakland.jpg', '9barcelona.jpg', '72bangalore.jpg', '50san diego.jpg', '5bogota.jpg', '74tel aviv.jpg', '48sunnyvale.jpg', '37athens.jpg']
Я пробовал пару разных способов, но поскольку я новичок и новичок в этом, мне очень сложно понять это. и десять я пытаюсь передать его в цикл, пытаясь удалить числа. Я использую python 3.5 btw.
ошибки были отличены от «объекта списка не имеет атрибута» в «FileNotFoundError: [Errno 2] Нет такого файла или каталога», но я чувствую, что приближаюсь к решению этой проблемы.
что я делаю неправильно?
Это сработало! Благодаря!! – KOOLz