파이썬에서 두개의 리스트를 1:1 대응할 수 가 있나요??
조회수 1093회
파이썬으로 동영상 파일과 자막파일을 리스트로 받아서 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) <===== 여기서 어떻게 결과를 출력하는 것이 좋은 거죠??
아직 반복문이 서툴러서 ㅡㅜ
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
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를 활용하니 편하게 완성할 수가 있었네요.^
-
(•́ ✖ •̀)
알 수 없는 사용자
-
댓글 입력