2013-09-07 5 views
0

나는 디렉토리를 가로 지르고 md5sum을 생성하는 파이썬 프로그램을 가지고있다. 한 파일에서 멈추게됩니다. Running ls -lA 그 속성은 prw-------입니다. 일부 검색 결과 나중에 파이프가 있음을 알았습니다.디렉토리 탐색에서 파이프를 확인하는 방법은 무엇입니까?

내 순회 중 파이프를 확인하는 방법은 무엇입니까? 이 파일을 건너 뛰고 싶습니다. 이송을위한


내 코드는 다음과 같습니다

for dirpath, _, files in walk(folder): 
    for fname in files: 
     print join(dirpath, fname) 
     if not islink(join(dirpath, fname)): 
      # do something with the file, here I pass it to myClass. 
      myClass.addFile(dirpath, fname) 

답변

2

당신은 정말 당신은 단지 파일을보고 싶지, 명시 적으로 파이프를 테스트 할 필요가 없습니다.

사용 os.path.isfile(); 파이프의 경우 False을 반환하지만 실제 파일의 경우 True을 반환합니다.

$ ls -l 
total 0 
-rw-rw-r-- 1 mj mj 0 Sep 7 12:27 actualfile 
prw-rw-r-- 1 mj mj 0 Sep 7 12:25 pipe 

>>> os.path.isfile('pipe') 
False 
>>> os.path.isfile('actualfile') 
True 
관련 문제