파일 이름과 폴더 경로 이름을 매개 변수로 사용하여 직접 또는 간접적으로 폴더 및 폴더에있는 파일을 검색하는 프로그램이 필요합니다. 함수는 파일의 경로명 (찾은 경우)을 반환해야하며, 폴더 또는 폴더의 하위 디렉토리에서 파일을 찾을 수없는 경우 없음을 반환해야합니다. 이 함수는 재귀 적이어야합니다.파일의 경로 이름을 재귀 적으로 반환하십시오.
def search(fname, path):
for item in os.listdir(path):
next = os.path.join(path, item)
try:
search(next,fname)
except:
return next
그것의 라인을 따라 뭔가 같이해야합니다 :
>>>search('fileA.txt', 'test')
'test\\fileA.txt'
>>>search('fileB.txt', 'test')
'text\\folder2\\fileB.txt'
요법
여기 내 코드입니다. 하지만 파일 찾기에 상관없이 fileA.txt를 찾기 위해 코드를 얻을 수 있습니다. 당신은 실제로에 확인 함수에 조건이없는
- :
이 ** 내가 몇 가지 문제를 참조하십시오
내가 어떤 도움을 교사에게 물었다, 이것은 그녀가 나에게 무엇인가 파일을 찾았는지 확인하십시오. 이 문제를 해결할 때 다음 호를 참조하십시오. - 이미 경로를 추가 한 경우 fname은 해당 파일과 일치하지 않습니다. 파일의 전체 경로 이름을 만들기 전에 파일 이름을 확인해야합니다. 그렇지 않으면 일치시킬 수 없습니다.
- 재귀 호출에서 반환 된 값은 사용하지 마십시오. 이들은 경로 또는 없음 중 하나를 반환해야하며 돌아 오는 것을 확인하지 않습니다. **
왜'try' /'except'를 사용하고 있습니까? 나는 당신이'if' /'else'를 찾고 있다고 생각합니다. –
정교하세요? – AngelE