path 모듈

ufp.path.dirname(path)

주어진 경로의 부모 경로를 추출해냅니다.

만약 ‘abc’가 주어졌다면, 반환값은 ‘.’입니다.

주석

os.path.dirname(‘asd’) -> ‘’이 되는 문제를 해결하기 위해 만들어졌습니다.

매개 변수:path (unicode) – 경로 문자열.
반환:부모 경로
반환 형식:unicode
ufp.path.extension(fileName)

주어진 파일명의 확장자를 추출합니다.

매개 변수:fileName (unicode) – 주어지는 값은 유니코드 문자열이여야 함.
반환:‘../asd/.qwe’가 인자로 주어진 다면 반환값은 (빈 값) 입니다.
반환:만약 확장자가 없다면, (빈 값)을 리턴합니다.
반환 형식:unicode
ufp.path.filename(filePath)

파일 경로로 부터 확장자를 제외한 파일명을 추출해냅니다.

매개 변수:filePath (unicode) –

주어지는 값은 유니코드 문자열이여야 함.

예를 들어, ‘../asd/.qwe.tar.bz2’가 인자로 주어진 다면 반환값은 ‘.qwe.tar’ 입니다.

반환:파일 이름
반환 형식:unicode
ufp.path.listdir(path, **options)

지정된 폴더에서 pattern에 해당하는 파일 및 폴더의 목록을 가져옵니다.

매개 변수:
  • path (unicode) – 목록을 가져올 폴더 경로
  • pattern

    필터 패턴(대소문자를 구분하지 않습니다)

    string : 패턴 문자열

    [string, ...]: 패턴 문자열 리스트

    None: 필터링 하지 않음

  • patternReverse (bool) –

    True : 필터에 매칭되지 않는 대상만 얻습니다.

    False : 필터에 매칭되는 대상만 얻습니다.

  • fullpath (bool) –

    반환시 주어진 경로를 포함한 경로를 반환합니다.

    True : [path + filename, ...]

    False : [filename, ...]

  • sortKey (function) –

    정렬키 함수

    해당 함수에는 전체 경로가 전달 됩니다.

반환:

필터링된 폴더 내용

반환 형식:

list(unicode, ...)

ufp.path.mergeDir(dirPaths, destPath)

dirPaths에 존재하는 모든 파일을 destPath로 옮긴 뒤, dirPath를 삭제합니다.

만약 중복 파일이 존재한다면 자동으로 중복 회피한 이름을 새 이름으로 지정하여 옮깁니다. 중복 회피 대상은 각 디렉토리 바로 아래의 파일들입니다.

매개 변수:
  • dirPaths (unicode, list(unicode, ...), tuple(unicode, ...)) – 이동 할 대상 파일들이 담긴 디렉토리 경로, 또는 디렉토리 경로 목록.
  • destPath (unicode) – 파일들이 옮겨져갈 위치
ufp.path.moveAllContent(dirPath, destPath)

dirPath에 존재하는 모든 파일을 destPath로 옮깁니다.

만약 중복 파일이 존재한다면 자동으로 중복 회피한 이름을 새 이름으로 지정하여 옮깁니다. 중복 회피 대상은 각 디렉토리 바로 아래의 파일들입니다.

매개 변수:
  • dirPath (unicode) – 이동 할 대상 파일들이 담긴 폴더
  • destPath (unicode) – 파일들이 옮겨져갈 위치
ufp.path.mtime(path, format)

path에 해당하는 파일의 최근 수정 시각을 지정된 format형식으로 작성하여 반환합니다.

매개 변수:
  • path (unicode) – 경로 문자열
  • format (unicode) – 형식 문자열(datetime strftime에서 지원하는 형식)
반환:

path에 존재하는 파일의 최근 수정 시각의 format에 지정된 형식

반환 형식:

unicode

ufp.path.pjoin(parentPath, filenames)

parentPath를 각 filenames의 아이템과 결합합니다.

매개 변수:
  • parentPath (unicode) – 부모 경로
  • filenames (list(unicode, ...)) – 파일명 리스트.
반환:

결합된 리스트. [parentPath/filename, parentPath/filename, ...]

반환 형식:

list(unicode, ...)

ufp.path.remove(path, force=False)

주어진 경로에 존재하는 대상을 삭제합니다.

심볼릭 링크는 링크를 제거합니다. 폴더의 경우 재귀적으로 폴더 내용을 삭제한뒤 폴더를 삭제합니다.

매개 변수:
  • path (unicode) – 삭제 대상의 경로
  • force (bool) –

    오류를 무시할지 여부.

    True : 오류를 무시함.

    False : Exception이 발생하면, 그대로 던짐.

ufp.path.remove_all_content(dir, force=False)

dir에 존재하는 모든 요소를 삭제합니다.

매개 변수:
  • dir (unicode) – 삭제 할 대상 파일들이 담긴 폴더
  • force (bool) –

    오류를 무시할지 여부.

    True : 오류를 무시함.

    False : Exception이 발생하면, 그대로 던짐.

ufp.path.replaceSpiecalChar(string, **options)

운영체제의 경로에서 사용 불가능한 문자열을 대체문자로 치환합니다.

윈도우 및 유닉스 계열 운영체제에서 파일에 포함되면 문제가 되는 특수문자를 대체문자로 치환합니다. 경로 구분자를 대체 문자로 치환합니다.

주석

윈도우에서 파일명으로 사용 할 수 없는 문자들(파일 이름에 다음 문자를 사용할 수 없습니다):

\ / : * ? ” < > |

주석

리눅스에서 파일명으로 사용 할 수 없는 문자들(파일 이름에 다음 문자를 사용할 수 없습니다):

/

매개 변수:
  • string – 치환 될 문자열
  • **options

    type: u’windows’, u’unix’. 윈도우의 경로 구분 문자는 리눅스에서 표시되는 모양이 다릅니다. 지정된 OS에서 보여지는 문자 모양과 유사한 대체문자로 치환하도록 지정합니다. 기본값은 unix입니다.

    keep_path_characters(bool): 경로 구분자를 치환하지 않습니다. 이 설정은 type 설정에 의존합니다. 기본 값은 False입니다.

Tpye string:

unicode

반환 형식:

ufp.path.toUrl(path)

path를 file:///형식으로된 주소로 되돌려줍니다.

매개 변수:path (unicode) –

경로 문자열.

ex) ../home/ufp

반환:file:///형식으로된 주소
반환 형식:unicode
ufp.path.unique(targetPath, spliteExt=True)

해당 경로에서 유일한 경로를 만들어 냅니다.

대소문자를 구분하지 않습니다. 만약 ‘a/b/c’를 인자로 준다면, `a/b/c d(1)`식으로 충복을 회피처리한 결과를 반환합니다.

다음과 같은 식으로 사용합니다.

>>> import ufp.path
>>> import os
>>> os.listdir('.')
['test.file']
>>> ufp.path.unique('./test.file')
./test (d1).file
>>> f.open('./test (d1).file', 'w').close()
>>> ufp.path.unique('./test.file')
./test (d2).file
매개 변수:targetPath (unicode) – 주어지는 값은 유니코드 문자열이여야 함.
반환:만약, 주어진 경로가 충돌하지 않는다면 주어진 경로를 그대로 반환합니다.
반환:만약 주어진 경로의 부모 경로가 존재하지 않는다면, 주어진 문자열 그대로 반환합니다.
반환:유일한 경로.
ufp.path.walk(top, maxDepth=None, onerror=None, followlinks=False)

재귀적으로 경로 탐색하기

‘.’를 인자로 주었다면, ‘./a’, ‘./b’ 순으로 점점 더 깊게 탐색합니다.

이 함수는 다음과 같은 식으로 사용한다.

>>> import ufp.path
>>> for root, dirs, files in ufp.path.walk('.', maxDepth=0):
...             print(root, dirs, files)
...             
'.', ['ufp'], []
매개 변수:
  • top (unicode) – 탐색 대상 경로
  • onerror (function) – 오류가 발생하면, 주어진 주소의 함수를 호출하여 오류 인자를 넘겨줍니다.
  • followlinks (bool) – 심볼릭 링크된 경로를 포함하여 탐색합니다.
  • maxDepth (int) –

    탐색 할 최대 깊이. 0이상의 정수여야 함.

    ex) 0 : 지정된 폴더만.

Yield:

현재 탐색 중인 위치(unicode), 폴더 이름([unicode, ...]), 파일 이름([unicode, ...])