복붙노트

[PYTHON] 파이썬에서 여러 파일의 이름 바꾸기

PYTHON

파이썬에서 여러 파일의 이름 바꾸기

다음 파일의 이름을 바꾸려면 어떻게해야합니까?

abc_2000.jpg
abc_2001.jpg
abc_2004.jpg
abc_2007.jpg

다음과 같은 것들 :

year_2000.jpg
year_2001.jpg
year_2004.jpg
year_2007.jpg

관련 코드는 다음과 같습니다.

import os
import glob
files = glob.glob('abc*.jpg')
for file in files:
    os.rename(file, '{}.txt'.format(???))

해결법

  1. ==============================

    1.

    import os
    import glob
    files = glob.glob('year*.jpg')
    for file in files:
        os.rename(file, 'year_{}'.format(file.split('_')[1]))
    

    한 줄은 다음과 같이 분리 될 수 있습니다.

    for file in files:
        parts = file.split('_') #[abc, 2000.jpg]
        new_name = 'year_{}'.format(parts[1]) #year_2000.jpg
        os.rename(file, new_name)
    
  2. ==============================

    2.내가 오늘 비슷한 것을했기 때문에 :

    내가 오늘 비슷한 것을했기 때문에 :

    #!/usr/bin/env python
    
    import os
    import sys
    import re
    
    if __name__ == "__main__":
        _, indir = sys.argv
    
        infiles = [f for f in os.listdir(indir) if os.path.isfile(os.path.join(indir, f))]
    
        for infile in infiles:
            outfile = re.sub(r'abc', r'year' , infile)
            os.rename(os.path.join(indir, infile), os.path.join(indir, outfile))
    
  3. from https://stackoverflow.com/questions/17748228/rename-multiple-files-in-python by cc-by-sa and MIT license