Переименование списка файлов с помощью ввода текста в Python? - PullRequest
0 голосов
/ 03 сентября 2018

Я получил папку, содержащую более 300 видеофайлов с именами, начинающимися с

video1.mp4,video2.mp4,video3.mp4 ...video302.mp4

Я пытаюсь переименовать все эти файлы, используя текстовый файл, содержащий 302 строки, где каждая строка соответствует указанному выше имени файла.

import os 
def chngname():
    os.chdir('/root/Desktop/video')
    with open('/root/Desktop/vidlink','r') as jabber:
        content=jabber.read().splitlines()
        director=[x for x in os.listdir()[:5]]
       director.sort()
       return content,director



newname = chngname()
os.chdir('/root/Desktop/video')
os.rename(newname[0],newname[1])

При выполнении кода выше я получаю сообщение об ошибке

Файл не найденОшибка: [Ошибка 2] Нет такого файла или каталога

Как решить эту ошибку? Привет

Обновление 1: Код обновлен

1 Ответ

0 голосов
/ 03 сентября 2018
import os 
def chngname():
    os.chdir('/home/alireza/Desktop/Testak')
    with open('/home/alireza/Desktop/fileNames.txt','r') as jabber:
        content=jabber.read().splitlines()
        director=[x for x in os.listdir()]
        director.sort()
        return content,director



newname = chngname()
os.chdir('/home/alireza/Desktop/Testak')
for id, file in enumerate(newname[1]):
    os.rename(file, newname[0][id])

Таким образом, проблема, с которой сталкивается ваш код, заключается в том, что вы передаете список в виде файла в os.rename() function

В этом коде есть несколько плохих практик, лучше использовать os.path lib для файловых адресов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...