2014-03-13 5 views
5

안드로이드, iOS와 같은 모바일 플랫폼을 포함하여 모든 플랫폼에서 파이썬에서 파일 이름이 유효한지 확인하는 가장 보수적 인 방법은 무엇입니까?파일 이름이 유효한지 확인하십시오.

Ex. 유효한>

** adad.jpg - -

this_is_valid_name.jpg 잘못된> 파일이 유효한 파일 이름이 될 것입니다 있는지 확인하기 위해

+0

가능한 복제본 [경로의 대상에 파일을 만들지 않고 경로가 파이썬에서 유효한지 확인하십시오.] (http://stackoverflow.com/questions/9532499/check-whether-a-path-is-valid-in -python-without-creating-a-file-at-the-paths-ta) – isedev

+0

그 파일 경로에 관한 것입니다. 접근 가능 여부. 나는 OS 전반에 걸쳐 가장 일반적인 파일 명명 규칙에 관심이있다. – gat

+0

'** adad.jpg'은 (는) 유효한 이름입니다. GNU/Linux :'open ('** adad.jpg', 'w')'이 그것을 만들 것입니다. – bereal

답변

3

가장 가혹한 방법 -> 잘못된

A/광고 OSes를 대상으로 제대로 테스트 된 파일 이름 목록을 확인하십시오. 그에 확장

valid = myfilename in ['this_is_valid_name.jpg'] 

, 당신은 모든 플랫폼에서 파일 이름에 사용할 수 있습니다 알고 자의 세트를 정의 할 수 있습니다 :

valid = set(valid_char_sequence).issuperset(myfilename) 

을하지만 이것은 어떤 운영체제로 충분히 될 수 없습니다 have reserved filenames.

당신은 OS 허용되는 파일 이름의 도메인을 일치 예약 된 이름 또는 create an expression (정규 표현식)을 제외하고, 각 대상 플랫폼, 즉으로부터 파일 이름을 테스트 중 해야합니다.

AFAIK, 파이썬은 Easier to Ask Forgiveness than Permission이기 때문에 이러한 도우미를 제공하지 않습니다. 가능한 OS/파일 시스템의 조합은 다양합니다. os가 예외를 제기 할 때 모든 파일에 대해 안전한 파일 이름 도메인을 확인하는 것보다 적절하게 대응하는 것이 더 쉽습니다.

+1

첫 번째 접근법에서 세트를 사용하십시오 :) –

관련 문제