Change the file extension for files in a folder?
You don't need to open the files to rename them, os.rename
only needs their paths. Also consider using the glob module:
import glob, os
for filename in glob.iglob(os.path.join(folder, '*.grf')):
os.rename(filename, filename[:-4] + '.las')
The open
on the source file is unnecessary, since os.rename
only needs the source and destination paths to get the job done. Moreover, os.rename
always returns None
, so it doesn't make sense to call open
on its return value.
import os
import sys
folder = 'E:/.../1936342-G/test'
for filename in os.listdir(folder):
infilename = os.path.join(folder,filename)
if not os.path.isfile(infilename): continue
oldbase = os.path.splitext(filename)
newname = infilename.replace('.grf', '.las')
output = os.rename(infilename, newname)
I simply removed the two open
. Check if this works for you.