2012-07-24 6 views
0

안녕하세요, 폴더 목록을 압축하고 압축 파일의 이름을 바꾸는 도구를 만들려고합니다. 압축하려는 폴더 이름의 목록은 다음 위치에 있습니다. txt 파일은 .txt를 사용하면이 같은 것입니다 : 나는 시도하고이 코드를 구축하기 위해 여러 방법을 사용했다목록의 모든 항목에 함수 사용 python

james, 5005 
kyle, 02939 
Betty, 40234 

하지만 파이썬 오류 설정 개체가 첨자에없는 점점 계속 내가 무엇을 할 생각이 없다 이것을 정정하고 여기에서 계속하는 방법에 관해서. shutil.make_archive를 사전과 함께 사용할 수 없나요? 아니면 목록을 사용할 수 있습니까? 왜냐하면 첫 번째 열 아래로이 함수를 실행하고 두 번째 열을 사용하여 만드는 파일의 이름을 바꾸기를 원하기 때문입니다. 나는 파이썬 3을 사용하고 있으며 어떤 도움도 훌륭 할 것이다!

import os 
import shutil 
x = input("Input Path your user list: ") 
filename = input("Input user file name: ") 
changedir = input("Input where your folders are: ") 
os.chdir(changedir) 

userfile = x + filename + ".txt" 
print("Awesome your path is now", userfile) 
with open(userfile, "rt") as userfileone: 
    count = 0 
    while 1: 
     buffer = userfileone.read(8192*1024) 
     if not buffer: break 
     count += buffer.count('\n') 
     print("It is indicated that there are", count + 1, "in the file") 
with open(userfile, "rt") as f: 
     lines = f.readlines() 
dic = {} 
for x in lines: 
    x = x.strip().split(',') 
    dic[x[0]]=tuple(x[1:]) 

for i in dic: 
    shutil.make_archive(i, "zip", dic[i]) 
+0

이 코드의 용도가 명확하지 않습니다. 파일을 두 번 열어 본 이유는 무엇입니까? 왜 '\ n'문자를 계산하고 그 결과를 사용하지 않습니까? 튜플에 두 번째 열을 읽는 이유는 무엇입니까? 그리고 두 번째 열을 이름으로 사용하기를 원할 때 첫 번째 열의 이름으로 아카이브가 생성되는 이유는 무엇입니까? –

답변

1

map 기능을 찾고있는 것 같습니다.

관련 문제