У меня есть сотни файлов в этой форме, только с номером документа:
28OPV-000333.000-A-001_00.pdf
28OPV-000333.000-A-002_00.pdf
Я хочу добавить описание для всех них.Я подготовил все новые имена в TXT.Как я могу переименовать их, используя Python?
Желаемый вывод:
28OPV-000333.000-A-001_equipment list.pdf
28OPV-000333.000-A-002_master tag.pdf
import os
path = "D:\\TEST\\"
newnames = open("d:\\newnames.txt")
lines = newnames.readlines()
for file in os.listdir(path):
for line in lines:
if line[0:22]==file[0:22]:
os.renames(path+file,path+line)
else:
break
Я новичок в программировании, мой код выше выдает ошибку какниже я не могу найти, где проблема.
OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect: 'D:\\TEST\\28OPV-000333.000-B-555_0000.PDF' -> 'D:\\TEST\\28OPV-000333.000-B-555_HAHA.PDF\n'
Process finished with exit code 1
Наконец, с поведением друзей ниже, я получаю желаемый результат.и я поместил исправленные коды ниже для дальнейшего использования.
import os,sys
path = "D:\\2 BA\\3 TP TQ Vendor drawings\\siemens\\"
newnames = open("d:\\newnames.txt")
lines = newnames.read().splitlines()
for file in os.listdir(path):
for line in lines:
if line[0:22]==file[0:22]:
try:
os.renames(path+file,path+line)
except Exception:
pass
или ниже
import os
path = "D:\\TEST\\"
newnames = open("d:\\newnames.txt")
lines = newnames.readlines()
for file in os.listdir(path):
for line in lines:
if line[0:22]==file[0:22]:
try:
os.renames(path+file,path+line.strip())
except Exception:
pass