2011-12-28 8 views
3

저는 파이썬 스크립트에서 작업중인 일부 파일이 있습니다. 가장 최근의 요구 사항은 원래 이름을 유지하면서 파일 이름의 시작 부분에 날짜 및 프로젝트 이름을 추가하여 파일이 배치 될 디렉토리로 이동하고 모든 파일의 이름을 바꾸는 것입니다.디렉토리의 파일 이름 바꾸기 + 파이썬의 서브 디렉토리

즉 foo.txt의 새로운 태그가 충분히 쉬웠다 구축

2011-12-28_projectname_foo.txt되고, 그냥 나를 트립있어 이름 변경 과정입니다.

+0

[os.walk()] (http://docs.python.org/library/os.html#os.walk)를 보았습니까? – cdhowie

+3

디렉토리의 이름을 바꾸는 것이 더 쉬울 것입니다. 그래서 모든 사람의 이름을 거의 지정하지 않고 디렉토리에서 아무 것도 찾을 수 없도록 올바른 프로젝트/날짜로 사용자 (관리자)를 안내 할 수 있습니다. 동일하게. – Ben

+0

아니요, 그렇지 않습니다. 이처럼 파일 이름을 지정할 필요가 있습니다. – misterjones

답변

1

나는이 내 이전 게시물입니다 알지만, 그것은 확인되었습니다 어떻게 꽤 몇 번으로보고 나는 내가이 문제를 해결하기 위해 무슨 짓을했는지 게시합니다 그림.

import os 

sv_name="(whatever it's named)" 
today=datetime.date.today() 
survey=sv_name.replace(" ","_") 
date=str(today).replace(" ","_") 
namedate=survey+str(date) 

[os.rename(f,str(namedate+"_"+f)) for f in os.listdir('.') if not f.startswith('.')] 
6

시도한 것을 게시 할 수 있습니까?

os.walkos.rename을 사용해야한다고 생각합니다. 이 같은

뭔가 :

import os 
from os.path import join 

for root, dirs, files in os.walk('path/to/dir'): 
    for name in files: 
     newname = foo + name 
     os.rename(join(root,name),join(root,newname)) 
관련 문제