python os.path.isfile()매개 변수 문제 로 잘못된 해결 판단

목적:경로 가 앉 아 있 는 모든 python 파일(.py 끝)을 찾 아 목록 을 되 돌려 줍 니 다.
코드:

def list_py(path = None):
 if path == None:
  path = os.getcwd()
 return [fname for fname in os.listdir(path)
 if os.path.isfile(fname) and fname.endswith('.py')
오류:
매개 변 수 를 입력 하지 않 습 니 다.문제 없습니다.

>>> list_py()
['cmdtest.py', 'datatest.py', 'excel_combine.py', 'input.py', 'iotest.py', 'load_data_test.py', 'numpy_arraytest.py', 'ooptest.py', 'pandas_test.py', 'str_test.py', 'test.py', 'wordstats.py']
하지만 인자 가 들 어 오 면

>>> list_py('D:\Python\PythonProject\data_mining_with_python')
[]
복귀:[]
한때 경 로 를 매개 변수 로 하 는 것 이 문제 가 될 것 이 라 고 생각 했 으 나 목록 에서 if 조건 을 삭제 한 후 정상적으로 되 돌 아 왔 습 니 다.그 러 니까 뻔 해.
해결:

os.path.isfile()
받 은 매개 변 수 는 경로+파일 이름 이기 때문에 fname 이나 path 만 이 아 닙 니 다.
마 땅 히 써 야 한다.

os.path.join(path,fname)
매개 변수 로
이상 의 python os.path.isfile()은 매개 변수 문제 로 인해 잘못된 해결 을 판단 하 는 것 이 바로 작은 편집 이 여러분 에 게 공유 하 는 모든 내용 입 니 다.여러분 께 참고 가 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기