문제; 다음으로파이썬에서 특정 날짜 이후에 수정 된 파일/폴더 찾기
,
def mod():
"""Find files modified today, given a file path."""
latest = 0
now = time.strftime('%Y-%m-%d', time.localtime())
dir = "/home/y33t/"
for fname in os.listdir(dir):
if fname.endswith(''):
modtime = os.stat(os.path.join(dir, fname)).st_mtime
if modtime > latest:
latest = modtime
out = time.strftime('%Y-%m-%d', time.localtime(latest))
if out == now:
print fname, "has changed today. "
else:
pass
내가 결정할 수 있습니다 : 파일/디렉토리 구조에서 특정 날짜 이후에 변경되고 (물론 제목에 명확하게 명시된 바와 같이) 다른 위치로이 복사되는 폴더를 (발견 어떤 파일은 특정 날짜에서 변경 한 위치에 이러한 복사하는 내가 달성하고 싶은 무엇입니까뿐만 아니라 디렉토리 구조를 유지하는 예는 다음과 같습니다;.. 그래서
/testfolder
..somefile1
..somefile2
../testfolder2
....somefile3
....somefile4
와 ...
을somefile3이 지정된 날짜에 변경되었다고 말하면 다른 위치에 저장하지만 저장할 때 계단식 디렉토리 구조도 유지해야합니다. 나는 이것을 어떻게 우아한 방법으로 얻을 수 있는가?
내가 제공 한 코드를 시도하고 결과를 체크 아웃 했습니까? – y33t
폴더 구조를 만들지 않았고 코드를 시도했습니다 :) 그러나 정확히 무엇을하는지 압니다. somefile3 및 somefile4와 같은 더 깊은 레벨의 파일/폴더가 아닌 기본 폴더 (/ home/y33t /)에있는 파일 목록 만 사용합니다. 두 번째 실수는 반환 된 목록의 모든 내용을 파일로 가져 오는 것입니다. testfolder2 mtime을 검사해서는 안됩니다. 그러나 찾아 보았다. 고정 된 함수 범위 변수 대신 기본 폴더를 매개 변수로 사용하여 재귀 적으로 os.listdir을 호출하여이 작업을 수행 할 수 있습니다. 그러나, os.walk는 이런 종류의 재치있는 걷기에 대해 나에게 더 이해가됩니다. * :) – hasanyasin