I was wondering if there was anyway I could modify my code to only post the basename of the file, instead of the entire file including the extension.. I\'m new to python, so I d
root, ext = os.path.splitext(file)
name = os.path.basename(root)
root
will contain the entire path of the given file name up to where the period would be before the extension, name
will only be the name of the file without the leading path.
Perhaps this will help:
import glob
import os
import re
os.chdir( "C:/headers" )
txt = open( 'C:/files.txt', 'w' )
for file in glob.glob( "*.h" ):
with open( file ) as f:
contents = f.read() [...]
if 'struct' in contents:
txt.write( "%s\n"% re.sub('\.h$', '', file) )
txt.close()
Good luck!
Simply in one line..., returns the found files without any file extension, for the files found in the given search directory with the requested file extension...!
Found_BaseFile_Names= [(f.split('.'))[0] for f in os.listdir(SearchDir) if f.endswith('.txt')]