파이썬에서 두개의 리스트를 1:1 대응할 수 가 있나요??


파이썬으로 동영상 파일과 자막파일을 리스트로 받아서 rename하려고 하는데요. 마지막에 어떻게 해야 할까요??

import os, glob

fpath = glob.glob('e:/utorrent/Neon Genesis Evangelion/*.smi')
movies = glob.glob('e:/utorrent/Neon Genesis Evangelion/*.mkv')
dirl = 'e:/utorrent/Neon Genesis Evangelion/'
nt = os.listdir('e:/utorrent/Neon Genesis Evangelion/')
data_list = []
r_name_list = []
for i in nt:
    if i.find('.smi') != -1:
        data_list.append(i)

for j in movies:
    if j.find('.mkv') != -1:
        tn = j.replace('mkv','smi')
        r_name_list.append(tn)

for k in data_list:
    pp = dirl + k
    os.rename(pp, r_name_list)  <===== 여기서 어떻게 결과를 출력하는 것이 좋은 거죠??

아직 반복문이 서툴러서 ㅡㅜ


  • 하고자 하는 것이 무엇인지를 적어주세요.    정영훈   2017.10.6 04:18     
조회수 156


1 답변


import os

dirl = 'e:/utorrent/Neon Genesis Evangelion/' nt = os.listdir(dirl) data_list = [] r_name_list = []

for i in nt: if i.find('.smi') != -1: pp = dirl + i data_list.append(pp) elif i.find('.mkv') != -1: tn = i.replace('mkv','smi') pp = dirl + tn r_name_list.append(pp) for j in data_list: os.rename(j, r_name_list.pop()) # 대상파일 이름(대상을 지칭함), 바꿀이름

해결했습니다. 대상리스트를 활용해서 pop를 활용하니 편하게 완성할 수가 있었네요.^

  • 2017년 10월 06일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close