2012-10-03 3 views
0

당신의 도움으로 나는 폴더 (/ desktop/filme/1,2,3,4,5 ...)의 목록을 (/ desktop/filme/1/filetwo,/desktop/filme/1/filethree ...)의 각 파일 이름 (/ desktop/filme/1/fileone,/desktop/filme/1/filee ...) /desktop/text/1.txt, /desktop/text/2.txt ...). txt와 함께 괜찮아, 나는 그것이 내가 xlwt를 사용하기 때문에 그것을 TXT로 저장하는 것처럼 Excel에서 저장하고 싶습니다. 당신이 다른 libray와 함께 작동하게하기위한 아이디어가 있다면 그것을 시도 할 것입니다. 내가 xlwt 또는 다른 것을 사용하여 엑셀 만들기 위해 그것을 적용 할파일 이름, 디렉토리, 텍스트, 파이썬 폴더 하위 폴더

import os 
import os.path 

for dirname, dirnames, filenames in os.walk(r"C:/Users/s/Desktop/filme/"): 

    for subdirname in dirnames: 

     foldere_filme = os.path.join(dirname, subdirname) 
     numarul_folderelor = foldere_filme.replace("C:/Users/s/Desktop/filme/", "") 
     print numarul_folderelor #1,2,3,4,5... 
     root_text = "C:/Users/s/Desktop/text/"+numarul_folderelor+".txt" 
     fisier_text = open(""+root_text+"", "w") 
     for filenames in os.listdir(foldere_filme): 
      numele_pt_text = filenames.replace(".avi", "") 
      print numele_pt_text 
      fisier_text.writelines(
           "Full Movie: \n\n\nwatch " 
           +numele_pt_text+" online free, \nwatch " 
           +numele_pt_text+" online") 
     fisier_text.close() 

:

는이 txt-S 저장하는 스크립트입니다,

import os 
import xlwt 
import os.path 

for dirname, dirnames, filenames in os.walk(r"C:/Users/s/Desktop/filme/"): 

    for subdirname in dirnames: 
     foldere_filme = os.path.join(dirname, subdirname) 
     numarul_folderelor = foldere_filme.replace("C:/Users/s/Desktop/filme/", "") 
     print numarul_folderelor #1,2,3,4,5... 
     wbk = xlwt.Workbook() 
     sheet = wbk.add_sheet('sheet 1', cell_overwrite_ok=True) 
     for filenames in os.listdir(foldere_filme): 
      numele_pt_text = filenames.replace(".avi", "") 
      print numele_pt_text 
      sheet.write(0,0,numele_pt_text) 
      sheet.write(1,0,numele_pt_text) 
      sheet.write(2,0,numele_pt_text) 
      sheet.write(3,0,numele_pt_text) 
      sheet.write(4,0,numele_pt_text) 
      sheet.write(5,0,numele_pt_text) 
      sheet.write(6,0,numele_pt_text) 
      sheet.write(7,0,numele_pt_text) 
      sheet.write(8,0,numele_pt_text) 
      sheet.write(9,0,numele_pt_text) 
      wbk.save("C:/Users/s/Desktop/text/"+numarul_folderelor+".xls") 

내가 그것을 작동합니다을하지만, 나는 모든 도움을 아주 많이 줄 것입니다.

+0

코드가 내 컴퓨터에서 정상적으로 작동합니다. –

+0

쓰기 모드 대신 추가 모드에서 파일을 열어야합니다. 쓰기 모드에서 기존 파일을 열면 이전 내용이 삭제되므로 새 파일 이름을 텍스트 파일에 쓸 때마다 이전 이름이 지워지고 새 이름이 작성됩니다. 따라서 텍스트 파일에 마지막 파일 이름 만 있습니다. 파일을 여는 줄을'fisier_text = open ("+ root_text +" ","a ")로 변경하십시오. – halex

+0

@ halex : 덮어 쓰지 않아도됩니다 ... @Rohit Jain : 그것이 무슨 뜻인가요? ? 폴더/데스크톱의 파일 1.txt 2.txt에 각 하위 폴더 인 Desktop/filme/(예 :/filme/1/movieoane, movietwo, moviethree/filme/2/movieoane, movietwo, moviethree)의 각 파일을 저장합니다. /본문/? –

답변

2

하지만 왜 각 행의 텍스트 파일을 열고 닫습니까? 다음과 같이 할 수 있습니다 :

numarul_folderelor = foldere_filme.replace("C:/Users/s/Desktop/filme/", "") 
    print numarul_folderelor #1,2,3,4,5... 

    root_text = "C:/Users/s/Desktop/text/"+numarul_folderelor+".txt" 
    fisier_text = open(""+root_text+"", "w") 

    for filenames in os.listdir(foldere_filme): 
     numele_pt_text = filenames.replace(".avi", "") 
     print numele_pt_text 
     fisier_text.writelines(
         "Full Movie: \n\n\nwatch " 
         +numele_pt_text+" online free, \nwatch " 
         +numele_pt_text+" online") 
    fisier_text.close() 
+0

야 ... 너를 사랑해, 나도 그래. 그것은 작동합니다. –

+0

나는이 문제를 재 편집했다. 나는 텍스트 파일처럼 저장하고 싶지만 엑셀에서 작업하겠다.하지만 누구나 해결할 수 있다면 해결할 것이다. 도움을 주셔서 대단히 감사합니다. –