2011-10-13 2 views
1

디렉토리 이름에 공백이있는 코드를 상속 받았으며 디렉토리 이름을 바꿀 수있는 옵션이 없습니다.MANIFEST.in 파일의 디렉토리 이름에서 공백을 어떻게 이스케이프 할 수 있습니까?

recursive-include 'embedded spaces' *.dat 
recursive-include "embedded spaces" *.dat 
recursive-include embedded\ spaces *.dat 
:의 디렉토리의 이름이 "공백"이제

가 나는 다음과 같은 노력했습니다

MANIFEST.in 파일이 디렉토리에서 일부 파일에 액세스하는 것을 시도하고있다 가정 해 봅시다

이들은 모두 경고 "의 라인을 따라 오류가 뭔가를 줄 : 어떤 파일이 디렉토리에 일치하는 '공간'나는

수있는 해결 방법이

'임베디드'발견

하지만 MANIFEST.in 디렉토리 이름에 공백을 인코딩하는 덜 위험한 방법이 있는지 궁금합니다.

+0

'재귀 적 포함 "포함 된 공백 * .dat"'? – brc

답변

2

아니요. MANIFEST.in를 분석하는 작업을 수행 distutils.filelist의 소스를 검사하여 광고가 행동을 결정하는 공백에 순수 분리 및 파라미터 여기

은 (파이썬 2,7)에서 소스

def _parse_template_line(self, line): 
    words = line.split() 
    action = words[0] 

    ... 

    if action in ('include', 'exclude', 
        'global-include', 'global-exclude'): 
     ... 
    elif action in ('recursive-include', 'recursive-exclude'): 
     if len(words) < 3: 
      raise DistutilsTemplateError, \ 
        "'%s' expects <dir> <pattern1> <pattern2> ..." % action 

     dir = convert_path(words[1]) 
     patterns = map(convert_path, words[2:]) 

    ... 
인 것을 보여준다
+0

그것은 내가 원하는 바가 아니지만 질문에 답합니다. 나는 질문을하기 전에 출처를 확인해야한다고 생각 했어야했다. – pwan

0

시도 recursive-include embedded?spaces *.dat

+0

이것은 지금 내가 사용하고있는 것과 거의 같은 접근법이지만, 나는 더 좋아하고 현재의 해결 방법으로 전환 할 것이다. – pwan