Python searching directory, list basename of file, no extension

后端 未结 3 605
广开言路
广开言路 2021-01-25 05:45

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

相关标签:
3条回答
  • 2021-01-25 06:28
    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.

    0 讨论(0)
  • 2021-01-25 06:34

    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!

    0 讨论(0)
  • 2021-01-25 06:39

    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')]
    
    0 讨论(0)
提交回复
热议问题