Python은 중첩된 폴더에서 지정된 파일 작업의 소스 코드를 추출합니다.

여러 중첩 폴더에서 알려진 파일 이름의 내용이나 파일을 추출하는 방법은 무엇입니까? 이 기사는 중첩된 폴더 아래에 지정된 파일 작업의 소스 코드 예제를 추출하는 Python 에 관한 것입니다 .

버전: python2.6.6
환경: window XP

Python 코드 작성 아이디어:
먼저 두 개의 py 파일을 필요한 폴더 아래에 놓고 filelist.py를 먼저 실행한 다음 run.py를 실행합니다. 이 두 파일의 기능은 다음과 같습니다:
filelist.py:
현재 폴더 아래의 파일 목록을 가져와 names.txt 파일을 생성합니다. 이 파일을 수동으로 수정하여 추출할 파일 목록을 설정할 수 있습니다.
run.py:
실행 후 대상 폴더를 입력하라는 메시지가 표시되고, 프로그램은 names.txt를 기반으로 지정된 디렉터리로 파일을 자동 전송합니다.

filelist.py 파일 Python 소스 코드 :


#encoding: utf-8
 
 
 
import os
 
filenames = os.listdir(os.getcwd())
 
for name in filenames:
    filenames[filenames.index(name)] = name
out = open('names.txt','w')
for name in filenames:
         
        filetype = name[len(name)-3:len(name)]
        ##更加后缀名拦截一些不需要的文件
        ##拦截规则可以自定定义
        if  filetype =='pbl':
                print ("pbl 文件被拦截 -->"+name)
        elif  filetype =='pbr':
                print ("pbr 文件被拦截 -->"+name)
        elif  filetype == 'pbw':
                print ("pbw 文件被拦截 -->"+name)
        elif  filetype == 'pbt':
                print ("pbt 文件被拦截 -->"+name)
        else:
                print(name[len(name)-3:len(name)])
                out.write(name+'\n')
out.close()

run.py의 소스코드는 다음과 같습니다.

#encoding: utf-8
 
import os
import sys
import shutil
import time
 
 
if __name__ == "__main__":
        curdir = os.getcwd()
        namefile = "names.txt"
        if os.path.isfile(namefile):
                print("文件列表以检测到,正在读取....")
        else:
                print("未找到names.txt文件,程序结束")
                ##sys.exit()
                 
        tag = ''
 
        while ( not os.path.isdir(tag)):
                tag = raw_input('输入目标路径:')
                if not os.path.isdir(tag):
                        os.mkdir(tag)
                         
        tag = tag+'\\'    
        nfile = open(namefile)
        for line in nfile:        
                src = line[:-1]
                 
                shutil.copy(src,tag)
                print(src+' 复制到 '+tag)
        nfile.close

추천

출처blog.csdn.net/lmrylll/article/details/131961835