2014-09-13 2 views
-1

저는 python을 처음 사용하기 때문에 디렉토리로 재생해야합니다. 누군가 나를 도와 줄 수 있습니까? 새로 만든 폴더가있는 경로를 알아야합니다. 새 파일 폴더가 내 코드에 의해 생성되어 일부 파일이 복사됩니다. 이 폴더의 경로를 알아야하지만 폴더 이름이 임의이므로 최신 만든 폴더의 폴더 이름을 가져 오려고합니다. 무엇을해야합니까?디렉토리에 생성 된 최신 폴더의 Python 이름

+1

어떻게이 폴더를 임의의 이름으로 생성 하시겠습니까? 이를 수행하는 방법이 몇 가지 있습니다. 코드를 표시하지 않으면 도움을 받기가 매우 어렵습니다. –

+0

나는 그것을 만드는 응용 프로그램이 있습니다. 나는 새로 생성 된 tempxxxxx 폴더에 작성된 파일을 C : \ TempDir로 테스트해야한다. 그래서 C : \ TempDir에 최신 폴더를 만들 때 Temp 폴더 bu의 이름을 얻을 수 있다면 생각하고 있었어요 – user1726783

+0

제가 이것을 참조 할 수 있다고 생각합니다. 그러나 정확히 어떻게 알지 못합니까? – user1726783

답변

2

이 같은 수행 할 수 있습니다

most_recent = creation_times[-1][0] 
+0

사용할 next()가 없습니다. 오류 메시지가 나타납니다 : AttributeError : 'generator'객체에 'next'속성이 없습니다. "__next__"접두사와 2 개의 밑줄 문자를 사용하면 다른 오류 메시지가 나타납니다. 파일 "", 줄 1, folders = os. walk (directory) .__ next __() [1] StopIteration 나는 IDLE과 python을 통해 실행하려고하는데 verison은 3.4.1 – user1726783

+0

어쨌든 2.7.6에서 시도해 보았다. – user1726783

+1

@ user1726783, 예, 파이썬 3에서는'next (os.walk (directory)) [1]'을 사용할 것입니다. 문제가 해결되면 답을 표시하십시오. – elyase

0

그것의 나쁜 관행이 다른 응용 프로그램 때문에 만든 최신 폴더를 가져올 :

import os 

directory = '.' # current dir 
folders = os.walk(directory).next()[1] 
creation_times = [(folder, os.path.getctime(folder)) for folder in folders] 
creation_times.sort(key=lambda x: x[1]) # sort by creation time 

그런 다음 당신이 목록의 마지막 요소를 선택할 수 있습니다 최신 폴더를 가져 오기 전에 바로 폴더를 만들 수 있지만, 코드를 시험해보고 싶다면 elyase가 보여준 것만 큼 좋습니다.

관련 문제