편집 기록

편집 기록
  • 프로필 알 수 없는 사용자님의 편집
    날짜2019.05.17

    원하는 경로에 텍스트 파일 생성하기??


    import glob 
    
    import shutil
    
    import os
    
    import re
    
    
    dirs = ['DataGathering']
    
    
    for dir in dirs:
    
    
        file_names = glob.glob(os.path.join(dir,'*'))
        file_names = [os.path.basename(name) for name in file_names]
        if not os.path.exists(dir +'_renamed'):
            os.makedirs(dir+'_renamed')
            #os.makedirs(dir+'_renamed/csv')
        root = dir + '_renamed'
        for name in file_names:
            if name.endswith('csv') :
                continue
            print(name)
            rename = re.sub("[\(\[].*?[\)\]]", "",name)
    
    
    
            splitted = rename.split('_')
            package = splitted[2]
            array = splitted[0]
            splitted[0] = package
            splitted[2] = array
            pop_index = [-2] * 5 + [0]
            package = splitted[0]
            print(splitted)
            for index in pop_index :
                splitted.pop(index)
    
            if not os.path.exists(os.path.join(root,package)):
                os.makedirs(os.path.join(root,package))
    
            destination = '_'.join(splitted)
            print(splitted,destination)
    
            if not ('Ang' in name or 'K3D' in name or name.endswith('csv')):
                shutil.copy(os.path.join(dir,name),os.path.join(root,package,destination))
    

    위 코드를 보시면 datagathering_renamed이란 폴더가 생성되고 그 안에 package에 입력된 값으로 여러개의 폴더가 생성되는데 그 각각 생성된 폴더안에 dict이란 텍스트 파일을 전부 생성하고 싶습니다.

    예를 들어

    makeTxt = os.path.join ({root, package}, "dict.txt")
    
    make = open (makeTxt, "w")
    

    이렇게 저 경로에 dict안에 내용은 상관없고 빈 텍스트 파일이라도 생성하고 싶은데 어떻게 해야 할지 모르겠네요. 예는 그냥 제가 생각해본거고(저건 당연히 에러가 나서,,) 옳은 방법을 가르쳐주시면 감사하곘습니다.

  • 프로필 김한님의 편집
    날짜2019.05.17

    원하는 경로에 텍스트 파일 생성하기??


    import glob

    import shutil

    import os

    import re

    dirs = ['DataGathering']

    for dir in dirs:

    file_names = glob.glob(os.path.join(dir,'*'))
    file_names = [os.path.basename(name) for name in file_names]
    if not os.path.exists(dir +'_renamed'):
        os.makedirs(dir+'_renamed')
        #os.makedirs(dir+'_renamed/csv')
    root = dir + '_renamed'
    for name in file_names:
        if name.endswith('csv') :
            continue
        print(name)
        rename = re.sub("[\(\[].*?[\)\]]", "",name)
    
    
    
        splitted = rename.split('_')
        package = splitted[2]
        array = splitted[0]
        splitted[0] = package
        splitted[2] = array
        pop_index = [-2] * 5 + [0]
        package = splitted[0]
        print(splitted)
        for index in pop_index :
            splitted.pop(index)
    
        if not os.path.exists(os.path.join(root,package)):
            os.makedirs(os.path.join(root,package))
    
        destination = '_'.join(splitted)
        print(splitted,destination)
    
        if not ('Ang' in name or 'K3D' in name or name.endswith('csv')):
            shutil.copy(os.path.join(dir,name),os.path.join(root,package,destination))
    

    위 코드를 보시면 datagathering_renamed이란 폴더가 생성되고 그 안에 package에 입력된 값으로 여러개의 폴더가 생성되는데 그 각각 생성된 폴더안에 dict이란 텍스트 파일을 전부 생성하고 싶습니다.

    pathlib 모듈을 활용한다면 어떻게 할 수 있을까요?