디렉토리의 모든 파일의 이름을 변경하여 각 파일에 여러 변경 사항을 적용하여 파일 이름을 인터넷에 친숙하게 만듭니다. 몇 가지 대체물에 대해 올바르게 작동 한 다음 파일을 찾을 수 없다고 말합니다. 나는 비록 그것이 느려지면 time.sleep()
으로 동작 할 것이지만 이것은 (느린 것 외에는) 효과가없는 것 같다. 어떤 경우에는 스크립트를 여러 번 실행하여 목표를 달성 할 수 있지만 경우에 따라 오류없이 완료되지만 변경 사항이 적용되지 않습니다. 모든 제안을 부탁드립니다.파이썬 이름 바꾸기 파일이 예상대로 작동하지 않습니다.
0
A
답변
3
filename.replace()
은 새로운 문자열을 반환합니다. 어떤 식 으로든 파일 이름을 변경하지는 않습니다. 따라서 파일 이름을 변경 한 후에 파일 이름이 오래되어 다음에 파일을 찾지 못하면 오류가 발생합니다. 이 같은
시도 뭔가 :
import os, glob, time
def new_filename(filename):
return filename.replace(' ', '_').lower().encode('utf8').replace(' (', '-') \
.replace(')', '').replace(',', '').replace('_-_', '-')
path = os.getcwd()
dirlist = glob.glob('*.pdf')
for filename in dirlist:
os.rename(os.path.join(path, filename), os.path.join(path, new_filename(filename)))
0
usage = '''
$python slug_dir.py DIR
'''
from os import rename, walk
from os.path import join, isdir, splitext
from slugify import slugify
def rename_files(dir_path):
for path, subdirs, files in walk(dir_path):
for fname in files:
filename, extension = splitext(fname)
s = slugify(filename)
newname = s+extension
try:
oldpath = join(path, fname)
newpath = join(path, newname)
print rename(oldpath, newpath)
print 'Rename: ', oldpath, '->', newpath
except Exception as e:
print 'Error triying rename: ', fname, '->', newname
raise e
def main():
dirname = sys.argv[1]
if not isdir(dirname):
print usage
sys.exit(1)
rename_files(dirname)
if __name__ == '__main__':
main()
관련 문제
- 1. 이름 바꾸기 명령이 예상대로 작동하지 않습니다.
- 2. 이름 바꾸기 후 nib 파일이 작동하지 않습니다.
- 3. 바꾸기 기능이 예상대로 작동하지 않습니다.
- 4. 이름 바꾸기 파일이 작동하지 않는 이유는 무엇입니까?
- 5. 디렉토리의 Java 이름 바꾸기 파일이 제대로 작동하지 않습니다.
- 6. 스타일 입력 유형 = 파일이 예상대로 작동하지 않습니다.
- 7. .TT 파일이 편집기에서 예상대로 작동하지 않습니다.
- 8. Unix 쉘 파일이 예상대로 작동하지 않습니다.
- 9. Pylint가 예상대로 작동하지 않습니다.
- 10. 파인더에서 실행할 때 파이썬 이름 바꾸기 스크립트가 작동하지 않습니다. (Mac)
- 11. 사용자 이름 복구 코드가 예상대로 작동하지 않습니다.
- 12. InetGet가 예상대로 작동하지 않습니다.
- 13. File.canWrite가 예상대로 작동하지 않습니다.
- 14. 포스트 그레스 이름 바꾸기 데이터베이스가 작동하지 않습니다.
- 15. 이름 바꾸기 SQLite 테이블이 작동하지 않습니다.
- 16. 이름 바꾸기 후 Facebook 로그인이 작동하지 않습니다.
- 17. $ zip 이름 바꾸기 함수가 PHP에서 작동하지 않습니다.
- 18. 스레딩 코드의 이름 바꾸기 매크로가 작동하지 않습니다.
- 19. Mysql 이름 바꾸기 데이터베이스가 작동하지 않습니다.
- 20. 프로젝트가 예상대로 작동하지 않습니다.
- 21. uidoc.copy가 예상대로 작동하지 않습니다.
- 22. sed +/* 예상대로 작동하지 않습니다.
- 23. fscanf가 예상대로 작동하지 않습니다.
- 24. .htaccess가 예상대로 작동하지 않습니다.
- 25. 이름 바꾸기 파이썬 임시 파일
- 26. FLAG_ACTIVITY_NEW_TASK이 예상대로 작동하지 않습니다.
- 27. INotifyPropertyChanged가 예상대로 작동하지 않습니다.
- 28. $ dirty가 예상대로 작동하지 않습니다.
- 29. .fo 파일이 예상대로 생성되지 않습니다.
- 30. vLookup이 예상대로 작동하지 않습니다.
감사합니다! 이것은 효과가 있었다. – John
이 글은 다음과 같이 작성된 것 같습니다 : http://pastebin.com/gwtxUmh4 – jamylak